开始使用免费开始使用

截距与起点

在本练习中,您将在线性建模的语境下理解截距和斜率参数。数据来自对一个大玻璃罐中溶液体积的测量。该溶液由水、谷物、糖和酵母组成。同时也记录了溶液与玻璃容器的总质量,但空容器的质量没有单独记录。

您的任务是使用预加载的 pandas DataFrame df(包含 volumesmasses 两列),建立一个将 masses(y 数据)与 volumes(x 数据)联系起来的线性模型。斜率将用于估计该溶液的密度(质量变化/体积变化),而截距将用于估计空容器的重量(当 volume=0 时的质量)。

本练习是课程的一部分

Python 线性建模入门

查看课程

练习说明

  • statsmodels 导入 ols(),并使用它基于 data=dfformula = "masses ~ volumes" 来拟合模型。
  • 分别通过 .params['Intercept'].params['volumes'] 提取截距 a0 和斜率 a1
  • 使用具有物理意义的名称打印 a0a1
  • 打印 model_fit() 的结果,并查找与上面一致的数值;关注行标签 Interceptvolumes 以及列标签 coef

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Import ols from statsmodels, and fit a model to the data
from statsmodels.formula.api import ols
model_fit = ols(formula="____ ~ ____", data=____)
model_fit = model_fit.fit()

# Extract the model parameter values, and assign them to a0, a1
a0 = model_fit.params['____']
a1 = model_fit.params['____']

# Print model parameter values with meaningful names, and compare to summary()
print( "container_mass   = {:0.4f}".format(____) )
print( "solution_density = {:0.4f}".format(____) )
print( model_fit.summary() )
编辑并运行代码