我正在尝试使用 python 库计算回归输出,但在使用该库时无法获取截距值:
import statsmodels.api as sm
它打印除截距之外的所有回归分析。
但是当我使用时:
from pandas.stats.api import ols
我的熊猫代码:
Regression = ols(y= Sorted_Data3['net_realization_rate'],x = Sorted_Data3[['Cohort_2','Cohort_3']])
print Regression
我收到拦截并警告该库将来将被弃用,因此我尝试使用 Statsmodels。
我在使用 pandas.stats.api 时收到的警告:
警告(来自警告模块):
文件“C:\Python27\lib\idlelib\run.py”,第 325 行
self.locals 中的执行代码
FutureWarning:pandas.stats.ols 模块已弃用,并将在未来版本中删除。我们引用 statsmodels 等外部包,请参阅此处的一些示例:http://statsmodels.sourceforge.net/stable/regression.html http://statsmodels.sourceforge.net/stable/regression.html
我的 Statsmodels 代码:
import pandas as pd
import numpy as np
from pandas.stats.api import ols
import statsmodels.api as sm
Data1 = pd.read_csv('C:\Shank\Regression.csv') #Importing CSV
print Data1
运行一些清理代码
sm_model = sm.OLS(Sorted_Data3['net_realization_rate'],Sorted_Data3[['Cohort_2','Cohort_3']])
results = sm_model.fit()
print '\n'
print results.summary()
我什至尝试过 statsmodels.formula.api:
作为:
sm_model = sm.OLS(formula ="net_realization_rate ~ Cohort_2 + Cohort_3", data = Sorted_Data3)
results = sm_model.fit()
print '\n'
print result.params
print '\n'
print results.summary()
但我收到错误:
类型错误:init() 至少需要 2 个参数(给定 1 个)
Final output:
1st is from pandas 2nd is from Stats.... I want the intercept vaule as the one from pandas from stats also: