2017-08-01 81 views
0

我有一個熊貓DF,看起來像這樣:線性迴歸問題statsmodel

broker-value-current broker-value-prior  consensus-after 
       590.00    510.00    462.55 
        32.74    31.98    30.72 
        33.00    30.00    30.04 

      pctch_broker  pctch_consensus pctch_frstrec_eps 
       15.686275    1.599051    1.421657 
       2.376485    0.195695   -82.098455 
       10.000000    0.805369   -82.098455 

     pctch_frstrec_rev 
       1.243782 
       -1.258936 
       -1.258936 

其中最後幾列用創建:

data['pctch_broker'] = ((data['broker-value-current']-data['broker-value-prior'])/data['broker-value-prior'])*100 
data['pctch_consensus'] = ((data['consensus-after']-data['consensus-before'])/data['consensus-before'])*100 
data['pctch_frstrec_eps'] = ((data['frstrec_eps_announced']-data['frstrec_eps_forecast'])/data['frstrec_eps_forecast'])*100 
data['pctch_frstrec_rev'] = ((data['frstrec_rev_announced']-data['frstrec_rev_forecast'])/data['frstrec_rev_forecast'])*100 

我還清楚NA這一行:

cleaned_data = data.dropna() 

當使用SciPy的統計:

import statsmodels.formula.api as sm 

然而,當我試圖迴歸「pctch_consensus」或「pctch_broker」與「pctch_frstrec_rev」或「pctch_frstrec_eps」與此代碼因變量的自變量:

reg1 = sm.ols(formula="pctch_consensus ~ pctch_frstrec_rev", data=cleaned_data).fit() 

我收到此錯誤:

RuntimeWarning: invalid value encountered in greater return (S > tol).sum(axis=-1) 
+0

哎呦,謝謝,我更新的問題,是的,我有我的進口產品,以及:進口statsmodels.formula.api爲SM –

回答

0

發生此問題是因爲您的數據框中存在無窮無盡。創建新變量時,您可能會創建這些無窮大,除以零。

這應該修復它:

cleaned_data = data.replace([np.inf, -np.inf], np.nan)