【发布时间】:2020-01-22 06:10:01
【问题描述】:
我被要求编写一个包含以下步骤的线性回归程序。
- 将 R 数据集 mtcars 加载为 pandas 数据框。
- 通过考虑自变量 wt 的对数和因变量 mpg 的对数来构建另一个线性回归模型。
- 用数据拟合模型,并显示 R 平方值
我是 Python 统计的初学者。
我尝试在不转换为新 DataFrame 的情况下获取日志值,但出现错误提示“TypeError: 'OLS' object is not subscriptable”
import statsmodels.api as sa
import statsmodels.formula.api as sfa
import pandas as pd
import numpy as np
cars = sa.datasets.get_rdataset("mtcars")
cars_data = cars.data
lin_mod1 = sfa.ols("wt~mpg",cars_data)
lin_mod2 = pd.DataFrame(lin_mod1)
lin_mod2['wt'] = np.log(lin_mod2['wt'])
lin_mod2['mpg'] = np.log(lin_mod2['mpg'])
lin_res1 = lin_mod2.fit()
print(lin_res1.summary())
预期结果是线性回归后的表格,但实际输出是错误的
[ValueError: DataFrame 构造函数未正确调用!]
【问题讨论】:
标签: python pandas numpy statistics linear-regression