我正在使用 Python 中的時間序列資料來查看諸如一天中的時間、一個月中的一天和一年中的月份之類的變數是否會影響健身房的出勤率。我已經閱讀了使用正弦和余弦回圈編碼時間序列資料的內容。我想知道你是否可以在一個月的某一天做同樣的事情。我問的原因是,與一年中的月數或一周中的天數不同,一個月中的天數是可變的(例如,二月有 28 天,而三月有 31 天)。有什么辦法可以處理嗎?
這是一個描述回圈編碼含義的鏈接:https ://ianlondon.github.io/blog/encoding-cyclical-features-24hour-time/
本質上,這就是說,當您進行機器學習時,您不能將小時轉換為一系列值,例如 1、2、3、...、24,因為這意味著第 24 小時更遠(從歐幾里得幾何的角度來看)從第 1 個小時開始,而不是第 1 個小時從第 2 個小時開始,這是不正確的。回圈編碼(為每個小時分配正弦和余弦值)允許您表示第 24 小時和第 2 小時與第 1 小時等距的事實。
我的問題是我不知道這種周期性轉換是否會在一個月內持續幾天,因為不同的月份可能有不同的天數。
uj5u.com熱心網友回復:
您可以通過將每個月劃分為 2π 弧度來實作這一點;那么在 28 天的月份中,一天是 0.2234,而在 31 天的月份中,一天是 0.2026。
這顯然引入了一種偏差,即較短的月份似乎占用的時間與較長的月份一樣多。但它會滿足你的要求。如果您僅使用此指標來規范化單個特征,那應該是無關緊要的,并且可以讓您實作既定目標。
如果您有比一天更精細的時間點,您顯然可以并且可能應該將它們標準化為相同的投影。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/459830.html
