import numpy as np
import pandas as pd
from scipy import stats
import statsmodels.api as sm
import matplotlib.pyplot as plt
d = {'City': ['Tokyo','Tokyo','Lisbon','Tokyo','Madrid','Lisbon','Madrid','London','Tokyo','London','Tokyo'],
'Card': ['Visa','Visa','Visa','Master Card','Bitcoin','Master Card','Bitcoin','Visa','Master Card','Visa','Bitcoin'],
'Client Number':[1,2,3,4,5,6,7,8,9,10,11],
}
d = pd.DataFrame(data=d).set_index('Client Number')
df = pd.get_dummies(d,prefix='', prefix_sep='')
X = df[['Lisbon','London','Madrid','New York','Tokyo','Bitcoin','Master Card','Visa','No','Yes']]
Y = df['Total']
X1 = sm.add_constant(X)
reg = sm.OLS(Y, X1).fit()
reg.summary()
我想导入每个变量的coef,以便将模型应用于新数据。我该怎么做
reg.params
包含参数估计值。摘要中列出的其他数量在reg.bse
(标准误差)、reg.tvalues
(t-统计)和reg.pvalues
(P-值)中提供在文档中可以看到完整的可用属性集:
https://www.statsmodels.org/devel/generated/statsmodels.regression.linear_model.RegressionResults.html
如果要将相同的参数应用于不同的数据集,最简单的方法是使用新数据构建新的OLS模型,例如
然后使用
predict
方法其中
res.params
来自您的原始拟合。请注意,x_new在原始回归中的相同位置具有相同的变量的情况必须如此相关问题 更多 >
编程相关推荐