簡體   English   中英

使用線性回歸預測python中時間序列數據的y值

[英]predicting y values of time series data in python using linear regression

我想使用線性回歸預測代表# of A-type clients/ time的Y值,其中X值為時間序列數據。

該代碼是

 df1 = pd.DataFrame({'time': past_time_array, 'A_clients': client_A_array})
        x_a = np.arange(len(past_time_array))
        fit_A = np.polyfit(x_a, df1['A_clients'], 1)
        fit_fn_A = np.poly1d(fit_A)


        print df1
        print "fitness function = %s" %fit_fn_A

print df1結果是

   A_clients                time
0           0 2018-02-09 14:45:00
1           0 2018-02-09 14:46:00
2           1 2018-02-09 14:47:00
3           4 2018-02-09 14:48:00
4           4 2018-02-09 14:49:00
5           2 2018-02-09 14:50:00
6           2 2018-02-09 14:51:00
7           2 2018-02-09 14:52:00
8           2 2018-02-09 14:53:00
9           4 2018-02-09 14:54:00
10          1 2018-02-09 14:55:00
11          3 2018-02-09 14:56:00
12          4 2018-02-09 14:57:00
13          2 2018-02-09 14:58:00
14          4 2018-02-09 14:59:00
15          3 2018-02-09 15:00:00
16          1 2018-02-09 15:01:00
17          1 2018-02-09 15:02:00
18          0 2018-02-09 15:03:00
19          4 2018-02-09 15:04:00
20          1 2018-02-09 15:05:00
21          1 2018-02-09 15:06:00
22          4 2018-02-09 15:07:00
23          4 2018-02-09 15:08:00

print "fitness function = %s" %fit_fn_A結果為print "fitness function = %s" %fit_fn_A

0.0001389 x + 2.213

問題是,當我嘗試預測諸如

predicted_ta = fit_fn_A(x_a[10])
print "predicted values = %f"%predicted_ta

它總是給我2.213 ,這是y = mx+c cy = mx+c

最佳擬合線如下所示

在此處輸入圖片說明

編輯1

當我每2 mns數#clinets而不是1時,回歸線有一定的斜率

在此處輸入圖片說明

可以正確預測值,但是早在我計算number of clients/ minute ,該圖就是線性的,如上所示。 因此,當我計算number of clients/ 2 minutes的回歸線時,適應度函數給出了正確的結果。

您不能在這里應用他的模型。 完全沒有依賴性。

嘗試計算匯總的客戶數量(value [x] = sum(value [:x])。通常,它非常適合log()模型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM