主要内容

线性回归工作流程

此示例显示如何适应线性回归模型。典型的工作流程涉及以下内容:导入数据,拟合回归,测试其质量,修改它以提高质量,并共享。

步骤1.将数据导入表中。

医院.XLS.是一种含有患者名称,性别,年龄,体重,血压和实验方案治疗日期的Excel®电子表格。首先将数据读入表中。

患者=可读性('hospital.xls''readrownames',真的);

检查五行数据。

患者(1:5,:)
ans =.5×11表名称性年龄WGT烟雾系统Dia Trial1 Trial2 Trial3 Trial4 ____________ __________________________________________________________________320 {'M'} 32 -99 -99 GLI-532{'Johnson'} {'M'} 43 163 0 109 77 11 13 22 -99 PNI-258 {'Williams'} {'F'} 38 131 0 125 83 -99 -99 -99 -99 MIJ-579 {'jones'} {'f'} 40 133 0 117 75 6 12 -99 -99 xlk-030 {'brown'} {'f'} 49 119 0 122 80 14 23 -99 -99

性别抽烟字段似乎有两个选择。因此将这些字段更改为分类。

患者。智人=分类(患者,0:1,{'不''是的'});病人.Sex =分类(患者);

步骤2.创建一个拟合型号。

您的目标是根据患者年龄,体重,性别和吸烟地位的函数来模拟收缩压。创建线性公式'sys'作为一个函数'年龄''WGT''性别', 和'抽烟'

modelspec ='sys〜年龄+ wgt +性别+烟雾';mdl = fitlm(患者,modelspec)
MDL =线性回归模型:SYS〜1 +性别+年龄+ WGT +烟雾估计系数:估计SE TSTAT PVALUE _________ ___________________________________________________________________________________0.9473 0.29913 0.76549年龄0.08602 0.0431 1.29913 0.06731 1.278 0.20431 1.278 0.20431 1.278 0.20438 WGT  -0.016685 0.055714 -0.29947 0.76524 Smoke_yes 9.884 1.0406 9.498 1.9546E -1 15观察数:100,误差自由度:95根均匀误差:4.81 R线:0.508,调整R线:0.487 f统计与恒定模型:24.5,p值= 5.99e-14

性别,年龄和体重预测器相当高 P. - 值得,表明这些预测器中的一些可能是不必要的。

步骤3.找到并删除异常值。

请参阅是否存在数据中的异常值,该异常值应从拟合中排除。绘制残差。

plotresids(MDL)

图包含轴。具有残差标题直方图的轴包含类型补丁的对象。

有一个可能的异常值,值大于12.这可能不是真正的异常值。为了演示,这里是如何查找和删除它。

找到异常值。

Outlier = mdl.residuals.raw> 12;查找(异常值)
ANS = 84.

删除异常值。

mdl = fitlm(患者,modelspec,......'排除',84);mdl.observationinfo(84,:)
ans =.1×4表重量要排除的子集缺少_______ ________ _______ ______ WXM-486 1真虚假

观察84不再在模型中。

步骤4.简化模型。

尝试获取更简单的模型,一个具有更少的预测器,但预测性的准确性相同。通过一次添加或删除一个术语来寻找更好的模型。允许最多需要10个步骤。

mdl1 =步骤(mdl,'nsteps',10)
1.去除WGT,FSTAT = 4.6001E-05,PVALUE = 0.9946 2.去除性别,FSTAT = 0.063241,PVALUE = 0.80199
MDL1 =线性回归型号:SYS〜1 + AGE +烟雾估计系数:估计SE TSTAT PVALUE __________________________________________________________________________________________________________________________0.09962 SHOUSE_YES 10.054 0.097696 10.291 3.527696 10.291 3.527696 10.291 3.527696 10.291 3.527696 10.291 3.527692 -17观察数:99,误差自由度:96根均匀误差:4.61 R线:0.536,调整R线:0.526 F统计与常数型号:55.4,P值= 1.02E-16

采取了两个步骤。这意味着它不能通过添加或减去单个术语进一步改善模型。

绘制更简单模型对训练数据的有效性。

plotresids(MDL1)

图包含轴。具有残差标题直方图的轴包含类型补丁的对象。

残差看起来像原始模型那样小。

步骤5.预测对新数据的响应。

假设您有四个新的人,25,30,40和65岁,以及第一个和第三次烟雾。预测它们使用的收缩压MDL1

年龄= [25; 30; 40; 65];吸烟者= {'是的';'不';'是的';'不'};Systolicnew = Feval(MDL1,年龄,吸烟者)
systolicnew =4×1127.8561 118.3412 129.4734 122.1149

要进行预测,您只需要变量MDL1用途。

步骤6.共享模型。

您可能希望其他人能够使用您的模型进行预测。访问线性模型中的术语。

COEFNAMES = MDL1.COEFFITY.
Coefnames =1x3细胞{'(拦截)'} {'age'} {'smoke_yes'}

查看型号公式。

mdl1.formula.
ans = sys〜1 +年龄+烟雾

访问条款的系数。

cofvals = mdl1.coffients(:,1)。最受欢迎
cofvals =3×1115.1066 0.1078 10.0540

该模型是SYS = 115.1066 + 0.1078 *年龄+ 10.0540 *烟雾, 在哪里抽烟1对于吸烟者,和0.除此以外。

也可以看看

||||

相关话题