fitlm
合适的线性回归模型
描述
例子
适合使用矩阵中的数据线性回归
适合一个线性回归模型使用一个矩阵输入数据集。
加载carsmall
数据集,一个矩阵的输入数据集。
负载carsmallX =(重量、马力、加速度);
通过使用线性回归模型fitlm
。
mdl = fitlm (X,英里/加仑)
mdl =线性回归模型:y ~ 1 + x1 + x2 + x3估计系数:估计SE tStat pValue __________替__________(拦截)e-21 x1 -0.0065416 0.0011274 -5.8023 4.8957 47.977 3.8785 12.37 9.8742 e-08 x2 -0.042943 -0.011583 0.19333 -0.059913 0.95236 0.024313 -1.7663 0.08078 x3的观测数量:93年,错误自由度:89根均方误差:4.09平方:0.752,调整平方:0.744 f统计量与常数模型:90年,假定值= 7.38 e-27
模型显示包括模型公式,估计系数,和模型汇总统计。
在显示模型公式,y ~ 1 + x1 + x2 + x3
,对应于
。
模型还显示了估计的系数显示信息,存储在系数
财产。显示系数
财产。
mdl.Coefficients
ans =4×4表估计SE tStat pValue __________替__________(拦截)47.977 3.8785 12.37 4.8957 e-21 x1 -0.0065416 0.0011274 -5.8023 9.8742 e-08 x2 x3 -0.011583 0.19333 -0.059913 0.08078 -0.042943 0.024313 -1.7663 0.95236
的系数
财产包括这些列:
估计
——系数估计为每个模型中相应术语。例如,常数项的估计(拦截
)是47.977。SE
-标准误差的系数。tStat
- - - - - -t统计每个系数测试零假设相应的系数是零对替代,它不同于零,鉴于其他预测模型。请注意,tStat =估计/ SE
。例如,t统计的拦截是47.977/3.8785 = 12.37。pValue
- - - - - -p价值的t统计假设检验,相应的系数等于零。例如,p价值的t统计的x2
大于0.05,所以这一项不是重要的在5%的显著性水平给定模型中的其他条款。
摘要统计模型是:
数量的观察
——没有任何的行数南
值。例如,数量的观察
93年,因为英里/加仑
数据向量有6个南
价值和马力
有一个数据向量南
值不同的观察,行数的地方X
和英里/加仑
是100。错误的自由度
- - - - - -n- - - - - -p,在那里n是观测的数量,和p在模型中系数的数量,包括拦截。例如,模型有四个预测因子,所以错误的自由度
是93 - 4 = 89。根均方误差
均方误差的平方根,估计误差分布的标准偏差。平方
和调整后的平方
——确定和调整系数确定系数,分别。例如,平方
值表明,模型解释了大约75%的变化响应变量英里/加仑
。f统计量与常数模型
——测试数据F以及回归模型,哪些测试模型适合明显好于退化模型是否只有一个常数项组成。假定值
- - - - - -p价值的F以及在模型。例如,模型是重要的p7.3816 e-27的价值。
你可以找到这些数据模型属性(NumObservations
,教育部
,RMSE
,Rsquared
),并通过使用方差分析
函数。
方差分析(mdl“摘要”)
ans =3×5表SumSq DF MeanSq F pValue ______ __交__________总92 65.269 4516 1505.3 89.987 7.3816 6004.8 e-27剩余1488.8 89 16.728
使用情节
创建一个额外的变量情节(偏回归利用情节)对整个模型常数(拦截)项除外。
情节(mdl)
使用数据表适合线性回归
加载示例数据。
负载carsmall
将变量存储在一个表。
台=表(重量、加速度、MPG,“VariableNames”,{“重量”,“加速”,“英里”});
显示表的前五行。
台(1:5,:)
ans =5×3表体重加速度MPG ______ _______ ___ 3504 12 18 3436 3693 11.5 15 11 18 3433 12 16 3449 10.5 17
适合英里每加仑的线性回归模型(MPG)。通过使用威尔金森符号指定的模型公式。
lm = fitlm(资源描述,“MPG ~体重+加速”)
lm =线性回归模型:MPG ~ 1 +重量+加速度估计系数:估计SE tStat pValue __________ __________和__________(拦截)45.155 3.4659 13.028 1.6266 e-22重量e-24加速0.19694 0.14743 1.3359 5.3165 -0.0082475 0.00059836 -13.783 0.18493的观测数量:94年,错误自由度:91根均方误差:4.12平方:0.743,调整平方:0.738 f统计量与常数模型:132年,假定值= 1.38 e-27
该模型“MPG ~体重+加速”
在这个例子中相当于设置模型规范“线性”
。例如,
lm2 = fitlm(资源描述,“线性”);
如果你使用一个特征向量模型规范和您没有指定响应变量,然后fitlm
接受最后一个变量资源描述
作为响应变量与其他变量的预测变量。
使用指定的模型符合线性回归公式
适合一个线性回归模型使用一个模型公式由威尔金森指定符号。
加载示例数据。
负载carsmall
将变量存储在一个表。
台=表(重量、加速度、Model_Year MPG,“VariableNames”,{“重量”,“加速”,“Model_Year”,“英里”});
适合英里每加仑的线性回归模型(MPG)重量和加速度作为预测变量。
lm = fitlm(资源描述,“MPG ~体重+加速”)
lm =线性回归模型:MPG ~ 1 +重量+加速度估计系数:估计SE tStat pValue __________ __________和__________(拦截)45.155 3.4659 13.028 1.6266 e-22重量e-24加速0.19694 0.14743 1.3359 5.3165 -0.0082475 0.00059836 -13.783 0.18493的观测数量:94年,错误自由度:91根均方误差:4.12平方:0.743,调整平方:0.738 f统计量与常数模型:132年,假定值= 1.38 e-27
的p0.18493显示的值加速度
不产生重大影响英里/加仑
。
删除加速度
从模型中,提高模型通过添加预测变量Model_Year
。首先定义Model_Year
作为分类变量。
资源描述。米odel_Year = categorical(tbl.Model_Year); lm = fitlm(tbl,“MPG ~ + Model_Year重量”)
lm =线性回归模型:MPG ~ 1 +重量+ Model_Year估计系数:估计SE tStat pValue __________ __________和__________(拦截)e-43重量-0.0066475 0.00042802 -15.531 1.2024 40.11 1.5418 26.016 3.3639 e-27 Model_Year_76 Model_Year_82 0.011488 1.9291 0.74761 2.5804 7.9093 0.84975 9.3078 7.8681 e15汽油数量的观察:94年,错误自由度:90根均方误差:2.92平方:0.873,调整平方:0.868 f统计量与常数模型:206年,假定值= 3.83 e-40
指定modelspec
使用威尔金森符号允许您更新模型,而无需改变设计矩阵。fitlm
只使用指定的变量的公式。它还创建了必要的两个仿真指示器变量分类变量Model_Year
。
符合使用条件矩阵线性回归
符合使用条件矩阵的线性回归模型。
术语表输入矩阵
如果模型表中的变量,然后一列0
在计算矩阵代表反应变量的位置。
加载医院
数据集。
负载医院
将变量存储在一个表。
t =表(hospital.Sex hospital.BloodPressure (: 1), hospital.Age, hospital.Smoker,…“VariableNames”,{“性”,“血压”,“年龄”,“抽烟”});
代表了线性模型“血压~ 1 +性别+年龄+抽烟'
使用矩阵。响应变量是在表的第二列,第二列的矩阵必须是一个列的条款0
年代的响应变量。
T = [0 0 0 0; 1 0 0 0 0 0 1 0, 0 0 0 1)
T =4×40 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1
符合线性模型。
mdl1 = fitlm (t, t)
mdl1 =线性回归模型:血压~ 1 +性别+年龄+吸烟者估计系数:估计SE tStat pValue ________说__________(拦截)116.14 2.6107 44.485 7.1287 e - 66 Sex_Male Smoker_1年龄0.050106 0.98364 0.050939 0.95948 0.085276 0.066945 1.2738 0.2058 9.87 1.0346 9.5395 1.4516 e15汽油数量的观察:100年,错误自由度:96根均方误差:4.78平方:0.507,调整平方:0.492 f统计量与常数模型:33岁的假定值= 9.91 e15汽油
矩阵对矩阵的输入
如果预测和响应变量在一个矩阵列向量,然后你必须包括0
为响应变量在每一行的结束条件矩阵。
加载carsmall
数据集和预测的定义矩阵。
负载carsmallX =(加速度、重量);
指定模型“MPG ~加速度+重量+加速:重量+重量^ 2》
使用矩阵。这个模型包括主效应和双向互动方面的变量加速度
和重量
,变量的二阶项重量
。
T = [0 0 0、1 0 0 0 1 0; 1 1 0, 0 2 0)
T =5×30 0 0 1 0 0 0 1 0 1 1 0 0 2 0
符合线性模型。
mdl2 = fitlm (X,英里/加仑,T)
mdl2 =线性回归模型:y ~ 1 + x1 * x2 + x2 ^ 2估计系数:估计SE tStat pValue ___________ __________和__________ x1(拦截)48.906 12.589 3.8847 0.00019665 0.54418 0.57125 0.95261 0.34337 x2 -0.012781 0.0060312 -2.1192 0.036857 x1, x2 7.5389 9.7518 -0.00010892 0.00017925 -0.6076 0.545 x2 ^ 2 e-07 e-07 1.2935 - 0.19917号的观察:94年,错误自由度:89根均方误差:4.1平方:0.751,调整平方:0.739 f统计量与常数模型:67年,假定值= 4.99 e-26
只有截距和x2
对应的词重量
变量,在5%的显著性水平非常重要。
线性回归和分类预测
适合包含分类预测的线性回归模型。重新排序的类别分类预测控制模型的参考电平。然后,用方差分析
测试类别变量的意义。
模型的分类预测
加载carsmall
数据集和创建一个线性回归模型英里/加仑
的函数Model_Year
。把数值向量Model_Year
作为分类变量,确定预测使用“CategoricalVars”
名称-值对的论点。
负载carsmallmdl = fitlm (Model_Year MPG,“CategoricalVars”,1“VarNames”,{“Model_Year”,“英里”})
mdl =线性回归模型:MPG ~ 1 + Model_Year估计系数:估计SE tStat pValue ________交__________(拦截)17.69 1.0328 17.127 3.2371 e-30 Model_Year_76 Model_Year_82 0.0069402 3.8839 1.4059 2.7625 14.02 1.4369 9.7571 8.2164 e-16数量的观察:94年,错误自由度:91根均方误差:5.56平方:0.531,调整平方:0.521 f统计量与常数模型:51.6,p = 1.07 e15汽油
在显示模型公式,英里/加仑~ 1 + Model_Year
,对应于
,
在哪里
和
指标变量的值是一个如果的价值Model_Year
分别是76年和82年。的Model_Year
变量包括三个不同的值,您可以检查使用独特的
函数。
独特的(Model_Year)
ans =3×170 76 82
fitlm
选择最小的值Model_Year
作为参考级别(“70”
)并创建两个指标变量
和
。模型只包含两个指标变量,因为设计矩阵成为等级不足如果模型包括三个指标变量(每个级别)和截距项。
模型和完整的指标变量
你可以解释的模型公式mdl
作为一个拥有三个指标变量的模型没有拦截的术语:
。
或者,您可以创建一个拥有三个指标变量的模型没有截距项通过手动创建指标变量和指定模型公式。
temp_Year = dummyvar(分类(Model_Year));Model_Year_70 = temp_Year (: 1);Model_Year_76 = temp_Year (:, 2);Model_Year_82 = temp_Year (: 3);台=表(Model_Year_70 Model_Year_76、Model_Year_82 MPG);mdl = fitlm(资源描述,“MPG ~ Model_Year_70 + Model_Year_76 + Model_Year_82 - 1 ')
mdl =线性回归模型:MPG ~ Model_Year_70 + Model_Year_76 + Model_Year_82估计系数:估计SE tStat pValue ________ ________ _____ Model_Year_70 17.69 1.0328 17.127 3.2371 e-30 Model_Year_76 21.574 0.95387 22.617 4.0156 e-39 Model_Year_82 31.71 0.99896 31.743 5.2234 e-51数量的观察:94年,错误自由度:91根均方误差:5.56
选择参考水平模型
你可以选择一个参考水平通过修改订单在一个分类变量的类别。首先,创建一个分类变量一年
。
年=分类(Model_Year);
检查使用的类别类别
函数。
类别(年)
ans =3 x1细胞””{70}{76}{82 '}
如果你使用一年
作为一个预测变量fitlm
选择第一类“70”
作为参考水平。重新排序一年
通过使用reordercats
函数。
Year_reordered = reordercats(一年,{“76”,“70”,“82”});类别(Year_reordered)
ans =3 x1细胞””{76}{70}{82 '}
第一类的Year_reordered
是“76”
。创建一个线性回归模型英里/加仑
的函数Year_reordered
。
mdl2 = fitlm (Year_reordered MPG,“VarNames”,{“Model_Year”,“英里”})
mdl2 =线性回归模型:MPG ~ 1 + Model_Year估计系数:估计SE tStat pValue ______和_____(拦截)21.574 0.95387 22.617 4.0156 e-39 Model_Year_70 Model_Year_82 0.0069402 -3.8839 1.4059 -2.7625 10.136 1.3812 7.3385 8.7634 e-11数量的观察:94年,错误自由度:91根均方误差:5.56平方:0.531,调整平方:0.521 f统计量与常数模型:51.6,p = 1.07 e15汽油
mdl2
使用“76”
作为参考水平,包括两个指标变量
和
。
评估分类预测
该模型显示mdl2
包括一个p每一项的值来测试是否相应的系数等于零。每一个p值检查每一个指标变量。检查类别变量Model_Year
作为一个群体的指标变量,使用方差分析
。使用“组件”
返回一个组件(默认)选项为每个变量方差分析表,包括方差分析统计模型中的常数项除外。
方差分析(mdl2“组件”)
ans =2×5表看上去SumSq DF MeanSq F pValue __得一样_____ __________ Model_Year 3190.1 - 2 2815.2 91 30.936 1595.1 51.56 1.0694 e15汽油错误
该组件包括方差分析表p价值的Model_Year
变量,这是小于p值的指标变量。
指定响应和线性模型的预测变量
合适的样本数据的线性回归模型。指定响应和预测变量,只包括两两交互模型中。
加载示例数据。
负载医院
符合线性模型与数据交互方面。指定重量作为响应变量,以及性别、年龄、吸烟状况的预测变量。同时,指定性别和吸烟状况是分类变量。
mdl = fitlm(医院,“互动”,“ResponseVar”,“重量”,…“PredictorVars”,{“性”,“年龄”,“抽烟”},…“CategoricalVar”,{“性”,“抽烟”})
mdl =线性回归模型:体重~性* 1 +年龄+性别*吸烟者+年龄*吸烟者估计系数:估计SE tStat pValue ________ ________ _____(拦截)118.7 7.0718 16.785 6.821 e-30 Sex_Male平台以及年龄0.31068 0.18531 1.6765 0.096991 3.3386 68.336 9.7153 7.0339 Smoker_1 3.0425 10.446 0.29127 0.77149 Sex_Male:年龄-0.49094 0.24764 -1.9825 0.050377 Sex_Male: Smoker_1 0.9509 3.8031 0.25003 0.80312年龄:Smoker_1 -0.07288 0.26275 -0.27737 0.78211的观测数量:100年,错误自由度:93根均方误差:8.75平方:0.898,调整平方:0.892 f统计量与常数模型:137年,假定值= 6.91 e-44
病人的重量似乎并不显著差异根据年龄、吸烟的状态,或这些因素与病人的互动性在5%的显著性水平。
健壮的线性回归模型
加载哈尔德
数据集的措施在其硬化水泥成分热的影响。
负载哈尔德
这个数据集包含的变量成分
和热
。矩阵成分
包含四个化学物质的百分比组成的水泥。向量热
包含的值为每个水泥样品加热硬化后180天。
一个健壮的线性回归模型的数据。
mdl = fitlm(成分、热、“RobustOpts”,“上”)
mdl =线性回归模型(健壮健康):y ~ 1 + x1 + x2 + x3 + x4估计系数:估计SE tStat pValue ________ _________说x1(拦截)60.09 75.818 0.79256 0.4509 1.5753 0.80585 1.9548 0.086346 x2 0.5322 0.78315 0.67957 0.51596 x3 x4 -0.12052 0.7672 -0.15709 0.87424 0.13346 0.8166 0.16343 0.87906的观测数量:13日误差自由度:8根均方误差:2.65平方:0.979,调整平方:0.969 f统计量与常数模型:94.6,p = 9.03 e-07
更多细节,请参见主题减少使用健壮的回归离群值的影响,比较健壮的结果符合标准最小二乘匹配。
使用交叉验证计算平均绝对误差
计算的平均绝对误差回归模型通过使用10倍交叉验证。
加载carsmall
指定数据集加速度
和位移
预测和变量重量
变量的响应。
负载carsmallX1 =加速度;X2 =位移;y =重量;
创建自定义函数regf
(如图所示的这个例子)。这个函数符合回归模型训练数据,然后计算测试集预测汽车重量。功能比较了预测汽车重量值真实值,然后计算平均绝对误差(MAE)和梅调整范围的测试集汽车重量。
注意:如果你使用现场脚本文件对于本例,regf
功能已经包含在文件的末尾。否则,您需要创建这个函数的m文件或将它添加在MATLAB®文件路径。
默认情况下,crossval
执行10倍交叉验证。每10个训练集和测试集的分区的数据X1
,X2
,y
,计算出美和调整美值使用regf
函数。发现平均美和平均调整美。
rng (“默认”)%的再现性值= crossval (@regf, X1, X2, y)
值=10×2319.2261 0.1132 342.3722 0.1240 214.3735 0.0902 174.7247 0.1128 189.4835 0.0832 249.4359 0.1003 194.4210 0.0845 348.7437 0.1700 283.1761 0.1187 210.7444 0.1325
意思是(值)
ans =1×2252.6701 - 0.1129
这段代码创建函数regf
。
函数错误= regf (X1train X2train、ytrain X1test, X2test,欧美)tbltrain =表(X1train、X2train ytrain,…“VariableNames”,{“加速”,“位移”,“重量”});tbltest =表(X1test X2test,欧美,…“VariableNames”,{“加速”,“位移”,“重量”});mdl = fitlm (tbltrain,“体重~加速度+位移”);tbltest yfit =预测(mdl);美=意味着(abs (yfit-tbltest.Weight));adjMAE =美/范围(tbltest.Weight);错误= (MAE adjMAE);结束
输入参数
资源描述
- - - - - -输入数据
表|数据集的数组
输入数据包括预测和响应变量指定为一个表或数据集的数组。预测变量可以是数字、逻辑、直言,字符或字符串。响应变量必须是数字或逻辑。
默认情况下,
fitlm
以最后一个变量作为响应变量和其他预测变量。不同的列设置为响应变量,使用
ResponseVar
名称-值对的论点。使用列的一个子集作为预测因子,使用
PredictorVars
名称-值对的论点。定义一个模型规范,设置
modelspec
参数使用公式或矩阵。公式或计算矩阵指定列作为预测或响应变量。
表中的变量名称不需要有效的MATLAB®标识符,但名称必须不包含前导或尾随空格。如果名称是无效的,你适合时不能使用一个公式或调整模型;例如:
你不能指定
modelspec
使用一个公式。你不能用一个公式来指定术语来添加或删除当你使用
addTerms
函数或removeTerms
函数,分别。你不能用一个公式来指定模型的上下边界时使用
一步
或stepwiselm
函数的名称-值对参数“低”
和“上”
,分别。
您可以验证变量名资源描述
通过使用isvarname
函数。如果变量名是无效的,那么您可以将其转换使用matlab.lang.makeValidName
函数。
X
- - - - - -预测变量
矩阵
预测变量指定为一个n——- - - - - -p矩阵,n是观察和的数量吗p是预测变量的数量。每一列的X
代表一个变量,每一行代表一个观察。
默认情况下,模型中的常数项,除非你显式地删除它,所以不包括1 s的一列X
。
数据类型:单
|双
y
- - - - - -反应变量
向量
响应变量指定为一个n1的向量,n是观测的数量。中的每个条目y
的响应相应的行吗X
。
数据类型:单
|双
|逻辑
modelspec
- - - - - -模型规范
“线性”
(默认)|特征向量或字符串标量命名模型|t————(p+ 1)矩阵|特征向量或字符串标量形式公式“y ~条款”
模型规范,指定为一个值。
一个特征向量或字符串标量命名模型。
价值 模型类型 “不变”
模型只包含一个常数(拦截)。 “线性”
模型包含一个为每个预测拦截和线性项。 “互动”
模型包含一个拦截,为每个预测线性项,和所有的产品对不同的预测(无平方项)。下载188bet金宝搏 “purequadratic”
模型包含一个截距项为每个预测和线性平方项。 “二次”
模型包含一个拦截的术语,为每个预测线性和平方项,和所有的产品对不同的预测。下载188bet金宝搏 “聚
ijk
”模型是一个多项式与学位的所有条款 我
在第一个预测,学位j
在第二个预测,等等。为每个预测指定最大程度利用数字0到9。模型包含交互条款,但每个交互项的程度不超过指定的度的最大值。例如,“poly13”
有一个拦截和x1,x2,x22,x23,x1*x2,x1*x22条款,x1和x2分别是第一和第二预测。一个t————(p+ 1)矩阵,或计算矩阵在模型中指定条件,t的条款和数量吗p预测变量的数量,+ 1占响应变量。矩阵是方便当预测的数量很大,你想以编程方式生成条件。
一个特征向量或字符串标量公式在表单中
“y ~条款”
,在哪里
条款
在威尔金森符号。公式中的变量名必须是变量名资源描述
或指定的变量名Varnames
。另外,变量名必须是有效MATLAB标识符。软件决定的条款在拟合模型通过使用条款的顺序
资源描述
或X
。因此,模型中的条款的顺序可以不同于条款的顺序在指定的公式。
例子:“二次”
例子:y ~ x1 + x2 ^ 2 + x1, x2”
数据类型:单
|双
|字符
|字符串
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:“拦截”,假的,“PredictorVars”, [1,3],“ResponseVar”, 5‘RobustOpts’,‘物流’
指定一个健壮的没有常数项的回归模型,算法使用物流的权重函数使用默认调优常数,第一和第三变量的预测变量,和第五变量响应变量。
CategoricalVars
- - - - - -分类变量列表
字符串数组|单元阵列的特征向量|逻辑或数字索引向量
类别变量列表中,指定为逗号分隔组成的“CategoricalVars”
和字符串数组或单元阵列特征向量包含分类表中的变量名或数据集的数组资源描述
、逻辑或数字索引向量显示哪些列直言。
如果表中的数据或数据集的数组
资源描述
那么,在默认情况下,fitlm
将所有分类值、逻辑值,字符数组,字符串数组和细胞特征向量作为分类变量的数组。如果数据矩阵
X
的默认值“CategoricalVars”
是一个空矩阵[]
。即不变量分类,除非你指定分类。
例如,您可以指定第二个和第三个变量的分类使用下列六:
例子:“CategoricalVars”, [2,3]
例子:“CategoricalVars”、逻辑([0 1 1 0 0 0])
数据类型:单
|双
|逻辑
|字符串
|细胞
排除
- - - - - -观察排除
逻辑或数字索引向量
观察从健康,排除指定为逗号分隔组成的“排除”
和逻辑或数字索引向量表示,从适合观测,以排除。
例如,您可以排除观测2和3的6使用下面的例子。
例子:“排除”,[2,3]
例子:“排除”,逻辑([0 1 1 0 0 0])
数据类型:单
|双
|逻辑
拦截
- - - - - -指标常数项
真正的
(默认)|假
为常数项指标(拦截),指定为逗号分隔组成的“拦截”
,要么真正的
包括或假
去除模型中的常数项。
使用“拦截”
只有当指定模型使用一个特征向量或字符串标量,不是一个公式或矩阵。
例子:“拦截”,假的
PredictorVars
- - - - - -预测变量
字符串数组|单元阵列的特征向量|逻辑或数字索引向量
预测变量用于配合,指定为逗号分隔组成的“PredictorVars”
和字符串数组或单元阵列特征向量的变量名称的表或数据集的数组资源描述
、逻辑或数字索引向量显示哪些列预测变量。
字符串值或特征向量应该名称中资源描述
,或者您指定的名称使用“VarNames”
名称-值对的论点。
默认是所有变量X
或所有变量资源描述
除了ResponseVar
。
例如,您可以指定第二个和第三个变量作为预测变量使用下面的例子。
例子:“PredictorVars”, [2,3]
例子:“PredictorVars”、逻辑([0 1 1 0 0 0])
数据类型:单
|双
|逻辑
|字符串
|细胞
ResponseVar
- - - - - -反应变量
最后一列资源描述
(默认)|特征向量包含变量名或字符串标量|逻辑或数字索引向量
反应变量在适合使用,指定为逗号分隔组成的“ResponseVar”
和一个特征向量或字符串标量数据集包含表中的变量名或数组资源描述
、逻辑或数字索引向量表示哪个列变量的响应。你通常需要使用“ResponseVar”
当配件表或数据集的数组资源描述
。
例如,您可以指定第四变量,说收益率
六个变量的响应,在下列方式之一。
例子:“ResponseVar”、“收益”
例子:“ResponseVar”, [4]
例子:“ResponseVar”、逻辑([0 0 0 1 0 0])
数据类型:单
|双
|逻辑
|字符
|字符串
RobustOpts
- - - - - -指标的拟合类型
“关闭”
(默认)|“上”
|特征向量|字符串标量|结构
指标稳健拟合类型的使用,指定为逗号分隔组成的“RobustOpts”
和其中一个值。
“关闭”
——没有健壮的拟合。fitlm
使用普通最小二乘法。“上”
——健壮的配件使用“bisquare”
权函数使用默认调优常数。特征向量或字符串标量——一个健壮的配件的名称权函数从下面的表。
fitlm
使用相应的表中指定的默认调优常数。结构与两个字段
RobustWgtFun
和调优
。的
RobustWgtFun
字段包含一个健壮的配件的名称权函数从下表或一个函数处理的一个定制的权函数。的
调优
字段包含一个调优常数。如果你不设置调优
领域,fitlm
使用相应的默认调优常数。
权函数 描述 默认调优常数 “安德鲁”
w = (abs (r) <π)。* sin (r)。/ r
1.339 “bisquare”
w = (abs (r) < 1)。* (1 - r ^ 2)。^ 2
(也称为biweight)4.685 “柯西”
w = 1 / (1 + r ^ 2)。
2.385 “公平”
w = 1 / (1 + abs (r))
1.400 “休伯”
w = 1。/ max (1、abs (r))
1.345 “物流”
w / r =双曲正切(r)
1.205 “ols”
普通最小二乘法(没有权重函数) 没有一个 “犯错误”
w = 1 * (abs (r) < 1)
2.795 “welsch”
w = exp (- (r ^ 2))
2.985 函数处理 定制的权函数,它接受一个向量 r
按比例缩小的残差,并返回一个向量的权重相同的大小r
1 内置的权重函数的默认调优常数给出系数估计,大约有95%是统计上有效的普通最小二乘估计,提供了反应没有异常值的正态分布。减少调整常数增加downweight分配给大残差;增加了调优常数降低downweight分配给大残差。
的值r的权重函数
r =渣油/(调* *√(1小时))
,在哪里
渣油
从先前的迭代中,残差向量的调优
调优是常数,h
从最小二乘匹配杠杆值的向量,然后呢年代
是一个估计的标准偏差的误差项s =疯狂/ 0.6745
。疯了
的平均绝对偏差的残差值。常数0.6745使得正态分布的无偏估计。如果X
有p列,软件不包括最小的p绝对偏差时计算值。
对健壮的拟合,fitlm
使用M-estimation制定估计方程,解决了他们使用的方法迭代再加权最小二乘(irl)。
例子:“RobustOpts”,“安德鲁”
VarNames
- - - - - -变量的名字
{x1, x2,…,‘xn’,‘y’}
(默认)|字符串数组|单元阵列的特征向量
变量的名字,指定为逗号分隔组成的“VarNames”
和一个字符串数组或单元阵列的特征向量,包括的列的名称X
首先,和响应变量的名称y
最后一次。
“VarNames”
不适用于变量数据集在一个表格或数组,因为这些变量已经有名字。
变量名不需要有效的MATLAB标识符,但名称必须不包含前导或尾随空格。如果名称是无效的,你适合时不能使用一个公式或调整模型;例如:
你不能用一个公式来指定术语来添加或删除当你使用
addTerms
函数或removeTerms
函数,分别。你不能用一个公式来指定模型的上下边界时使用
一步
或stepwiselm
函数的名称-值对参数“低”
和“上”
,分别。
在指定VarNames, VarNames
,您可以验证的变量名varNames
通过使用isvarname
函数。如果变量名是无效的,那么您可以将其转换使用matlab.lang.makeValidName
函数。
例子:VarNames,{“马力”,“加速”,“Model_Year”,“英里”}
数据类型:字符串
|细胞
权重
- - - - - -观察权重
的(n, 1)
(默认)|n1负的标量值的向量
观察体重、指定为逗号分隔组成的“重量”
和一个n1负的标量值的向量,n是观测的数量。
数据类型:单
|双
输出参数
mdl
——线性模型
LinearModel
对象
代表一个最小二乘线性模型的响应数据,作为一个返回LinearModel
对象。
如果该值“RobustOpts”
名称-值对不[]
或“ols”
,该模型不是一个最小二乘匹配,但使用健壮的拟合函数。
更多关于
计算矩阵
一个条件矩阵T
是一个t————(p+ 1)矩阵指定术语在一个模型中,在那里t术语的数量,p预测变量的数量,+ 1占响应变量。的价值T (i, j)
是变量的指数吗j
在术语我
。
例如,假设一个输入包括三个预测变量x1
,x2
,x3
和响应变量y
的顺序x1
,x2
,x3
,y
。每一行的T
代表一个术语:
[0 0 0 0]
——常数项或拦截[0 1 0 0]
- - - - - -x2
;同样,x1 ^ 0 * x2 ^ 1 * x3 ^ 0
(1 0 1 0)
- - - - - -x1 * x3
(2 0 0 0)
- - - - - -x1 ^ 2
[0 1 2 0]
- - - - - -x2 * (x3 ^ 2)
的0
的每一项代表了响应变量。一般来说,一个列向量的零矩阵代表反应变量的位置。如果你有预测和响应变量在一个矩阵列向量,然后你必须包括0
为响应变量在每一行的最后一列。
公式
规范是一个特征向量公式模型或字符串标量的形式”
。y
~条款
”
y
是响应的名字。条款
威尔金森代表了预测计算模型中使用符号。
代表预测和响应变量,使用的变量名称表输入资源描述
或通过使用指定的变量名VarNames
。的默认值VarNames
是{x1, x2,…,‘xn’,‘y’}
。
例如:
“y ~ x1 + x2 + x3”
指定一个有三线性模型与拦截。“y ~ x1 + x2 + x3 - 1”
指定一个有三线性模型没有拦截。注意公式包括一个常数(拦截)默认项。排除一个常数项的模型中,您必须包括1
的公式。
一个公式包括常数项,除非你显式地删除术语使用1
。
威尔金森符号
威尔金森符号描述术语出现在一个模型。符号相关条款存在于一个模型,而不是乘数(系数)的条款。
威尔金森符号使用这些符号:
+
意味着包括下一个变量。- - - - - -
意味着不包括下一个变量。:
定义了一个交互,这是一个产品的术语。*
定义了一个交互和所有低阶项。^
提高预测能力,完全一样*
重复,所以^
包括低阶项。()
组条件。
此表显示了威尔金森符号的典型例子。
威尔金森符号 | 在标准符号 |
---|---|
1 |
常数(拦截) |
x1 ^ k ,在那里k 是一个正整数 |
x1 ,x12 、……x1k |
x1 + x2 |
x1 ,x2 |
x1 * x2 |
x1 ,x2 ,x1 * x2 |
x1, x2 |
x1 * x2 只有 |
x2 |
不包括x2 |
x1 * x2 + x3 |
x1 ,x2 ,x3 ,x1 * x2 |
x1 + x2 + x3 + x1, x2 |
x1 ,x2 ,x3 ,x1 * x2 |
x1 * x2 * x3 - x1, x2, x3 |
x1 ,x2 ,x3 ,x1 * x2 ,x1 * x3 ,x2 * x3 |
x1 * (x2 + x3) |
x1 ,x2 ,x3 ,x1 * x2 ,x1 * x3 |
更多细节,请参阅威尔金森符号。
提示
访问的模型属性
LinearModel
对象mdl
,你可以使用点符号。例如,mdl.Residuals
返回一个原始表,皮尔逊Studentized和标准化剩余价值的模型。训练模型后,可以生成C / c++代码为新数据预测的反应。需要生成C / c++代码MATLAB编码器™。有关详细信息,请参见介绍代码生成。
算法
主要配件QR分解算法。对健壮的拟合,
fitlm
使用M-estimation制定估计方程,解决了他们使用的方法迭代再加权最小二乘(irl)。fitlm
对待分类预测如下:一个模型的分类预测l包括水平(类别)l- 1指标变量。模型使用第一类作为参考水平,所以它不包括参考的指标变量的水平。如果数据类型的分类预测
分类
,那你可以检查的顺序分类利用类别
通过使用和重新排序的类别reordercats
自定义参考水平。关于创建指标变量的更多细节,请参阅自动创建虚拟变量。fitlm
治疗组l- 1作为一个变量指标变量。如果你想把指标变量不同的预测变量,使用手动创建指标变量dummyvar
。然后使用指标变量,除了一个对应的参考电平分类变量,当你适应一个模型。的分类预测X
如果你指定的所有列dummyvar (X)
和一个截距项预测,然后设计矩阵变得不足。交互条款之间的连续预测和分类预测l由element-wise产品的水平l- 1变量与连续预测指标。
两个分类预测之间的交互方面l和米水平的(l- 1)* (米- 1)指标变量包括所有可能的组合的两个分类预测的水平。
你不能指定高阶术语分类预测,因为一个指标的平方等于本身。
fitlm
认为南
,”
(空字符向量),”“
(空字符串),<失踪>
,<定义>
值资源描述
,X
,Y
缺失值。fitlm
不使用与缺失值的观察。的ObservationInfo
拟合模型表明是否的属性fitlm
使用中的每个观察健康。
选择功能
对高维数据集,减少了计算时间符合线性回归模型使用
fitrlinear
函数。调整回归,使用
fitrlinear
,套索
,脊
,或plsregress
。fitrlinear
演化为高维数据集回归使用套索或岭回归。套索
删除冗余预测线性回归中使用套索或弹性。脊
使用岭回归演化回归与相关条款。plsregress
演化使用偏最小二乘回归与相关条款。
引用
[1]DuMouchel, w . H。,F。l。O'Brien. “Integrating a Robust Option into a Multiple Regression Computing Environment.”计算机科学和统计数据:21研讨会上的程序接口。亚历山大,弗吉尼亚州:美国统计协会,1989。
荷兰[2],p W。,R. E. Welsch. “Robust Regression Using Iteratively Reweighted Least-Squares.”通信数据:理论和方法,A6,1977年,页813 - 827。
[3]胡贝尔,p . J。健壮的统计数据。新泽西州霍博肯:约翰·威利& Sons Inc ., 1981年。
[4],j . O。,R. J. Carroll, and D. Ruppert. “A Note on Computing Robust Regression Estimates via Iteratively Reweighted Least Squares.”美国统计学家。42卷,1988年,页152 - 154。
扩展功能
高大的数组
计算和数组的行比装入内存。
这个函数支持高数组内存不足数金宝app据和一些限制。
如果任何输入参数
fitlm
是一个高大的数组,那么所有其他的输入必须高数组。这包括提供的非空的变量“重量”
和“排除”
名称-值对。的
“RobustOpts”
不支持名称-值对数组与高。金宝app对于高数据,
fitlm
返回一个CompactLinearModel
对象包含大多数相同的属性LinearModel
对象。主要的区别在于,紧凑的对象内存需求敏感。紧凑的对象不包括属性,包括数据,或相同大小的数组,包括数据。紧凑的对象不包含这些LinearModel
属性:诊断
安装
ObservationInfo
ObservationNames
残差
步骤
变量
你可以计算出残差直接从紧凑的对象返回
LM = fitlm (X, Y)
使用RES = Y -预测(LM, X);S = LM.RMSE;直方图(RES linspace (3 * S, 3 *年代,51))
如果
CompactLinearModel
对象是失踪的低阶项,包括分类因素:的
plotEffects
和plotInteraction
不支持方法。金宝app的
方差分析
方法与“组件”
不支持选项。金宝app
有关更多信息,请参见高内存不足数据数组。
GPU数组
加速代码运行在一个图形处理单元(GPU)使用并行计算工具箱™。
这个函数完全支持GPU数组。金宝app有关更多信息,请参见运行在GPU MATLAB函数(并行计算工具箱)。
版本历史
Beispiel offnen
您有一张这本Beispiels geanderte版本。您这本Beispiel麻省理工学院古老Anderungen offnen吗?
MATLAB-Befehl
您有窗户的链接geklickt,汪汪汪der diesem MATLAB-Befehl entspricht:
在das MATLAB-Befehlsfenster Fuhren您窝Befehl军队Eingabe来自。浏览器unterstutzen MATLAB-Befehle。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。