2017-03-10 6 views
0

回帰分析を得るために最初の部分を残りの関数にどのように適合させることができるか知っていますか?csvのデータを使用した多変量回帰のためのPython関数

import numpy as np 
import matplotlib.pyplot as plt 
from numpy import * 
from matplotlib.pyplot import * #for the graph 

data = np.genfromtxt('bookingdata.csv', delimiter = ',') 

tvst = data[1:,][:,1] 
cntime = data[1:,][:,2] 
brate = data[1:,][:,3] 
ppvwst = data[1:,][:,4] 



import statsmodels.api as sm 


def reg_m(tvst, cntime,brate,ppvwst): 
ones = np.ones(len(cntime[0]) 
X = sm.add_constant(np.column_stack((x[0], ones))) 
for ele in x[1:]: 
X = sm.add_constant(np.column_stack((ele, X))) 
results = sm.OLS(y, X).fit() 
return results 

すべての変数は変数tvst、cntimeなどとしてロードされています。また、すべての変数は数値です。

最終目標は、Y(endogが)、これは重回帰と呼ばれ、ただ一つの変数である場合は、

      OLS Regression Results        
============================================================================== 
Dep. Variable:      y R-squared:      0.535 
Model:       OLS Adj. R-squared:     0.461 
Method:     Least Squares F-statistic:      7.281 
Date:    Tue, 19 Feb 2013 Prob (F-statistic):   0.00191 
Time:      21:51:28 Log-Likelihood:    -26.025 
No. Observations:     23 AIC:        60.05 
Df Residuals:      19 BIC:        64.59 
Df Model:       3    
============================================================================== 
       coef std err   t  P>|t|  [95.0% Conf. Int.] 
------------------------------------------------------------------------------ 
x1    0.2424  0.139  1.739  0.098  -0.049  0.534 
x2    0.2360  0.149  1.587  0.129  -0.075  0.547 
x3   -0.0618  0.145  -0.427  0.674  -0.365  0.241 
const   1.5704  0.633  2.481  0.023   0.245  2.895 


Omnibus:      6.904 Durbin-Watson:     1.905 
Prob(Omnibus):     0.032 Jarque-Bera (JB):    4.708 
Skew:       -0.849 Prob(JB):      0.0950 
Kurtosis:      4.426 Cond. No.       38.6 
+0

どう動作していないよう:

だから、重回帰はちょうど

X = sm.add_constant(np.column_stack((cntime, brate, ppvwst))) results = sm.OLS(y, X).fit() 

か、我々はすでにデータの余分なコピーを回避column_stackを行うことを考えるのですか? – DyZ

+0

私は変数tvst(依存)とcentime、brate、ppvwst(独立)として、私のcsvファイルをPythonにロードしました。今私は、上記のような出力で、モデルの多変量回帰テストをしたいと思います。私はそれを達成する方法を完全に失っています。 –

+0

'add_constant'は1の列を追加するのと同じことを行います。いずれかが冗長です。 – user333700

答えて

0

まずように多変量回帰を取得することになりました。多変量回帰は、通常、同時に複数のyを有する場合、すなわちyが多変量である場合を指す。

add_constantは、onesの列を追加するのと同じことを行います。いずれかが冗長です。

X = np.column_stack((ones, cntime, brate, ppvwst))) 
results = sm.OLS(y, X).fit() 
関連する問題