使用statsmodels-pythton的OLS中存在无效语法



我想对一些数据进行回归。

country_scores=country_scores.rename(columns={"Median Math Score (TIMSS Scale, 4th Grade)": "Median Math Score"})
country_scores_log2 = country_scores.copy()
country_scores_log2['GDP Per Capita'] = np.log2(country_scores_log2['GDP Per Capita'].astype(float))
mod = smf.ols(formula="GDP Per Capita ~ Median Math Score", data=country_scores_log2)
res = mod.fit()
print(res.summary())

当我尝试这个时,我总是会收到一个错误:

File "C:ProgramDataAnaconda3libast.py", line 50, in parse
return compile(source, filename, mode, flags,
File "<unknown>", line 1
Median Math Score
^
SyntaxError: invalid syntax

通常,我使用的包中适合python的模型语法将采用不同的模型语法。试试这个:

mod = smf.ols("GDP Per Capita" ~ "Median Math Score", data = country_scores_log2)

一般来说,我使用的语法格式是:

mod = smf.ols(y, X)

y是目标变量,X是一个或多个输入变量的矩阵/数据表。

我个人的写作方式是:

mod = smf.ols(country_scores_log2['GDP Per Capita'], country_scores_log2["Median Math Score"])

在哪里你可以取代";数学成绩中位数";如果您想使用一个或多个其他变量处理不同的输入,请使用列表。

相关内容

  • 没有找到相关文章

最新更新