python rolling regression. 使用 Python 實(shí)現(xiàn)滾動(dòng)回歸操作
滾動(dòng)回歸
所謂滾動(dòng)回歸,通常用在時(shí)間序列上。記當(dāng)前時(shí)刻為 t,回歸時(shí)長為 s,則一直使用 當(dāng)作自變量來預(yù)測 。使用滾動(dòng)回歸的目的通常是為了避免未來函數(shù)對(duì)于回歸的影響。
具體來說,如果我們直接用所有數(shù)據(jù)來建立線性回歸模型,則回歸系數(shù) ,是關(guān)于所有 x 與所有 y 的函數(shù)。然而,我們?cè)?時(shí)是不知道未來的數(shù)據(jù)點(diǎn)的!如果使用全部數(shù)據(jù)進(jìn)行回歸則相當(dāng)于未卜先知,會(huì)造成嚴(yán)重的過擬合。
Python實(shí)現(xiàn)
之前 python 的 pandas 與 statsmodels 庫均支持滾動(dòng)回歸,但是現(xiàn)在兩個(gè)都不支持。因此如果大家使用的是最新版的 pandas 與 statsmodels ,那么網(wǎng)上的那些做法均沒有用。
目前我找到的唯一可以實(shí)現(xiàn)滾動(dòng)回歸的 python 庫是 pyfinance,代碼如下:
from pyfinance.ols import PandasRollingOLS results = PandasRollingOLS(x, y, window) # window 是滾動(dòng)回歸的自變量個(gè)數(shù)results.solution # 每一步估計(jì)的截距與斜率results.beta # 每一步估計(jì)的斜率results.alpha # 每一步估計(jì)的截距results.predicted # 每一步估計(jì)的樣本內(nèi)預(yù)測值
補(bǔ)充知識(shí):python 實(shí)現(xiàn)字幕動(dòng)態(tài)滾動(dòng)和等待效果
晚上看了些python實(shí)現(xiàn)動(dòng)態(tài)字幕效果的文章,總會(huì)提到print函數(shù)的flush=True參數(shù),還有os.system(’cls’)清屏,總是迷糊,并不能實(shí)現(xiàn)滾動(dòng)屏幕效果。經(jīng)過多方思索和查找,總結(jié)如下。
1.windows平臺(tái)下pycharm工具,其實(shí)加不加 flush=True 效果都是一樣的,因?yàn)榫W(wǎng)上說,有些系統(tǒng)是把字符存放在緩存里不會(huì)實(shí)時(shí)顯示,總是再最后才一次性把所有的緩存信息顯示,這樣的延遲導(dǎo)致看不到動(dòng)態(tài)效果。經(jīng)過測試,windowns平臺(tái)的pycharm工具不存在此問題,加不加效果都一樣。
2.回車換行符的使用:
# 回車和換行的歷史: # 機(jī)械打字機(jī)有回車和換行兩個(gè)鍵作用分別是: # 換行 ’n’ 就是把滾筒卷一格,不改變水平位置。 (即移到下一行,但不是行首,而是和上一行水平位置一樣) # 回車 ’r’ 就是把水平位置復(fù)位,不卷動(dòng)滾筒。 (即將光標(biāo)移到行首,但是不會(huì)移到下一行,如果繼續(xù)輸入的話會(huì)覆蓋掉前面的內(nèi)容) # Enter = 回車+換行(rn)
所以可以利用回車符,不斷清除前面的字符,然后循環(huán)顯示新的字符,來實(shí)現(xiàn)動(dòng)態(tài)滾動(dòng)效果。
2個(gè)實(shí)例如下:
實(shí)例1 動(dòng)態(tài)廣告語
import time content = ’鉆石永久遠(yuǎn),一顆永流傳!’while True: print(’r’, content, end=’’, flush=True) #去掉flush參數(shù)效果也一樣 content = content[1:] + content[0] time.sleep(0.5)
實(shí)例2 等待效果
import time while True: print(’鉆石永久遠(yuǎn),一顆永流傳’, end=’ ’) for i in range(10): print(’·’, end=’’, flush=True) #去掉flush參數(shù)效果也一樣 time.sleep(0.3) print(’r’,end=’’)
以上這篇python rolling regression. 使用 Python 實(shí)現(xiàn)滾動(dòng)回歸操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP.NET MVC實(shí)現(xiàn)單個(gè)圖片上傳、限制圖片格式與大小并在服務(wù)端裁剪圖片2. ASP.NET Core 依賴注入生命周期示例詳解3. ASP.NET MVC擴(kuò)展帶驗(yàn)證的單選按鈕4. 使用IDEA編寫jsp時(shí)EL表達(dá)式不起作用的問題及解決方法5. 常用的Ajax異步提交數(shù)據(jù)表單的方法6. jstl 字符串處理函數(shù)7. .NET 6 跨服務(wù)器聯(lián)表查詢操作MySql、Oracle、SqlServer等相互聯(lián)表8. jsp實(shí)現(xiàn)登錄界面9. asp.net core服務(wù)限制堆內(nèi)存大小的操作方法10. 讀大數(shù)據(jù)量的XML文件的讀取問題
