Python 時系列分析 1,000本ノック
– ノック63: 時系列の異常検知 –

Python 時系列分析 1,000本ノック– ノック63: 時系列の異常検知 –
次の Python コードは、どの種類のモデルを実装していますか?

Python コード:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import numpy as np
import pandas as pd
from statsmodels.tsa.seasonal import seasonal_decompose
np.random.seed(0)
dates = pd.date_range('2020-01-01',periods=100)
data = pd.Series(
np.sin(np.linspace(0, 3 * np.pi, 100))
+ np.random.randn(100) * 0.5, index=dates)
data[30:33] = [5, 5, 5]
decom = seasonal_decompose(data,model='additive')
residual = decom.resid
th = 3
anomalies = residual[np.abs(residual)>th*residual.std()]
print(anomalies)
import numpy as np import pandas as pd from statsmodels.tsa.seasonal import seasonal_decompose np.random.seed(0) dates = pd.date_range('2020-01-01',periods=100) data = pd.Series( np.sin(np.linspace(0, 3 * np.pi, 100)) + np.random.randn(100) * 0.5, index=dates) data[30:33] = [5, 5, 5] decom = seasonal_decompose(data,model='additive') residual = decom.resid th = 3 anomalies = residual[np.abs(residual)>th*residual.std()] print(anomalies)
import numpy as np
import pandas as pd
from statsmodels.tsa.seasonal import seasonal_decompose

np.random.seed(0)
dates = pd.date_range('2020-01-01',periods=100)
data = pd.Series(
    np.sin(np.linspace(0, 3 * np.pi, 100))
    + np.random.randn(100) * 0.5, index=dates)
data[30:33] = [5, 5, 5]

decom = seasonal_decompose(data,model='additive')
residual = decom.resid

th = 3
anomalies = residual[np.abs(residual)>th*residual.std()]
print(anomalies)

 

回答の選択肢:

(A) ホドリック・プレスコットフィルター
(B) 移動平均法
(C) 季節分解法
(D) 自己回帰法