主要内容

이번역번역이지는최신내용을담고담고않습니다않습니다。최신최신내용을영문영문으로여기를클릭클릭

fitlm

선형 회귀 모델 피팅하기

설명

예제

mdl= fitlm (TBL.은테이블또는数据集형배열TBL.의의변수에피팅피팅된선형모델을반환반환회귀모델을반환기본적으로,fitlm은마지막변수를응답변수로받습니다。

예제

mdl= fitlm (Xy는데이터행렬X에피팅된응답변수y의 선형 회귀 모델을 반환합니다.

예제

mdl= fitlm (___模型规格은위에열거된구문대로입력인수를조합하여모델사양을정의합니다。

예제

mdl= fitlm (___名称,值는하나이상의이름——값쌍의인수를사용하여옵션을추가로지정합니다。예를들어,사용자는어떤변수가범주형변수인지지정하거나,로버스트회귀를수행하거나,관측값가중치를사용할수있습니다。

예제

모두축소

행렬입력데이터세트를사용하여선형회귀모델을피팅합니다。

행렬입력데이터세트인carsmall데이터세트를불러옵니다。

负载carsmallX =(重量、马力、加速度);

fitlm을사용하여선형회귀모델을피팅합니다。

mdl = fitlm (X,英里/加仑)
mdl = Linear regression model: y ~ 1 + x1 + x2 + x3 Estimated Coefficients: Estimate SE tStat pValue __________ _________ _________ __________ (Intercept) 47.977 3.8785 12.37 4.8957e-21 x1 -0.0065416 0.0011274 -5.8023 9.8742e-08 x2 -0.042943 0.024313 -1.7663 0.08078 x3 -0.011583 0.19333 -0.059913 0.95236观测数:93、误差自由度:89均方根误差:4.09 r平方:0.752,校正r平方:0.744 f统计量与常数模型:90,p-value = 7.38e-27

모델표시화면에모델식,추정된계수및모델요약통계량이포함됩니다。

표시된모델식Y ~ 1 + x1 + x2 + x3 y β 0 + β 1 X 1 + β 2 X 2 + β 3. X 3. + ϵ 에해당합니다。

모델표시화면에系数속성에저장된,추정된계수정보도표시됩니다。系数속성을표시합니다。

mdl。系数
ans =4×4表e- x x x x x x x x x x x x x x x x x

系数속성은 다음과 같은 열을 포함합니다.

  • 估计——모델에서각각의대응되는항에대한계수추정값입니다。예를들어,상수항(拦截47.977)에대한추정값은입니다。

  • SE——계수의표준오차입니다。

  • 塔特——모델에주어진다른예측변수를상정한경우,'대응하는계수0이가아니다’는대립가설에대해”계수가0이다’는귀무가설을검정하는데사용된각계수에대한t——통계량입니다。참고로,tStat =估计/ SE입니다。예를들어,절편에대한t——통계량은47.977/3.8785 = 12.37입니다。

  • pValue0 -대응하는계수가인지아니면0이아닌지를검정하는가설에대한t——통계량의p——값입니다。예를들어,x2에대한t——통계량의p0.05 -값은보다크므로모델의다른항을고려할때이항은5%유의수준에서유의미하지않습니다。

모델의요약통계량은같습니다같습니다。

  • 数量的观察- - - - - -값을 포함하지 않는 행 개수입니다. 예를 들어,X英里/加仑100개의행개수는인데英里/加仑데이터벡터에6개값이있고马力데이터벡터벡터에다른관측값에1개값이있기때문에数量的观察는93입니다。

  • 误差自由度- - - - - -n- - - - - -p이며,여기여기n은관측값의개수이고p는절편을포함하여모델에포함된계수의개수입니다。예를들어,이모델은4개의예측변수를가지므로误差自由度은93 - 4 = 89입니다。

  • 根均匀误差——평균제곱오차의제곱근으로,오차분포의표준편차를추정합니다。

  • r-平方调整后的平方- 각각결정계수와수정된계수계수를나타냅니다。예를들어,r-平方값은모델이응답변수英里/加仑의변동성의약75%를설명한다는것을나타냅니다。

  • F统计量与常数模型——회귀모델에대한F——검정의검정통계량으로,이모델이상수항만으로구성된퇴화모델보다훨씬더잘피팅되는지여부를검정합니다。

  • 假定值——모델에대한F——검정의p——값입니다。예를들어,이모델은p-값이 7.3816e-27인 경우 유의미합니다.

모델속성(NumObservations教育部RMSERsquared)에서,그리고方差分析함수를사용하여이러한통계량을확인할수있습니다。

方差分析(mdl“摘要”
ans =3×5表SumSq DF MeanSq F pValue ________ ______ ______ __________ Total 6004.8 92 65.269 Model 4516 3 1505.3 89.987 7.3816e-27 Residual 1488.8 89 16.728

표본데이터를를불러。

负载carsmall

테이블에변수를저장합니다。

台=表(重量、加速度、MPG,“VariableNames”,{“重量”“加速”“英里”});

테이블에서처음5개행을표시합니다。

TBL(1:5,:)
ans =5×3表重量加速度MPG(单位)(单位)(单位)(单位)(单位)(单位)3504 12 18 3693 11.5 15 3436 11 18 3433 12 16 3449 10.5 17

갤런당마일주행거리(MPG)에대해선형회귀모델을피팅합니다。윌킨슨표기법을사용하여모델식을지정합니다。

lm = fitlm(资源描述,“MPG ~体重+加速”
lm = Linear regression model: MPG ~ 1 + Weight + Acceleration Estimated Coefficients: Estimate SE tStat pValue __________ __________ _______ __________ (Intercept) 45.155 3.4659 13.028 1.6266e-22 Weight -0.0082475 0.00059836 -13.783 5.3165e-24 Acceleration 0.19694 0.14743 1.3359 0.18493观测次数:94、误差自由度:91均方根误差:4.12 r平方:0.743,校正r平方:0.738 f统计量与常数模型:132,p-value = 1.38e-27

이예제의모델“MPG ~体重+加速”은모델사양양“线性”를 설정하는 것과 동일합니다. 예를 들면 다음과 같습니다.

lm2=fitlm(待定,“线性”);

모델사양으로문자형벡터를사용하고응답변수를지정하지않는경우fitlmTBL.의 마지막 변수를 응답 변수로 받고 나머지 변수를 예측 변수로 받습니다.

윌킨슨(威尔金森)표기법으로 지정된 모델식을 사용하여 선형 회귀 모델을 피팅합니다.

표본데이터를를불러。

负载carsmall

테이블에변수를저장합니다。

台=表(重量、加速度、Model_Year MPG,“VariableNames”,{“重量”“加速”“Model_Year”“英里”});

가중치와가속도를예측변수로사용하여갤런당마일주행거리(MPG)에대한선형회귀모델을피팅합니다。

lm = fitlm(资源描述,“MPG ~体重+加速”
lm = Linear regression model: MPG ~ 1 + Weight + Acceleration Estimated Coefficients: Estimate SE tStat pValue __________ __________ _______ __________ (Intercept) 45.155 3.4659 13.028 1.6266e-22 Weight -0.0082475 0.00059836 -13.783 5.3165e-24 Acceleration 0.19694 0.14743 1.3359 0.18493观测次数:94、误差自由度:91均方根误差:4.12 r平方:0.743,校正r平方:0.738 f统计量与常数模型:132,p-value = 1.38e-27

p-값이 0.18493이라는 것은加速度英里/加仑에유의미한영향을미치지않는다는것을나타냅니다。

모델에서加速度을제거하고예측변수Model_Year를추가하여모델을향상시켜봅니다。먼저Model_Year를범주형변수로정의합니다。

资源描述。Model_Year =分类(tbl.Model_Year);lm = fitlm(资源描述,“MPG ~ + Model_Year重量”
lm =线性回归模型:MPG ~ 1 +权重+ Model_Year Estimated Coefficients:Estimate SE tStat pValue __________ __________ _______ __________ (Intercept) 40.11 1.5418 26.016 1.2024e-43 Weight -0.0066475 0.00042802 -15.531 3.3639e-27 Model_Year_76 1.9291 0.74761 2.5804 0.011488 Model_Year_82 7.9093 0.84975 9.3078 7.8681e-15观测数:94,误差自由度:90均方根误差:2.92 R-squared:0.873,调整后的R-Squared: 0.868 F-statistic vs. constant model: 206, p-value = 3.833 -40

윌킨슨표기법을사용하여模型规格을지정하면설계행렬을변경할필요없이모델을업데이트할수있습니다。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 0 0]
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 ________ ________ ________ __________ (Intercept) 116.14 2.6107 44.485 7.1287e-66 Sex_Male 0.050106 0.98364 0.050939 0.95948 Age 0.085276 0.066945 1.2738 0.2058 Smoker_1 9.87 1.0346 9.5395 1.4516e-15100,误差自由度:96均方根误差:4.78 r平方:0.507,调整r平方:0.492 F-statistic vs. constant model: 33, p-value = 9.91e-15

행렬입력값에대한항행렬

예측변수와응답변수가행렬과열벡터에있는경우항행렬의각행의끝에응답변수를나타내는0을 포함시켜야 합니다.

carsmall데이터세트를불러오고예측변수로구성된행렬을정의합니다。

负载carsmallX =(加速度、重量);

항행렬을사용하여모델'MPG ~加速度+重量+加速度:重量+重量^2'을지정합니다。이모델은변수加速度重量에대한주효과항및이원상호상호작용,그리고변수重量2에대한차항을포함합니다。

T = [0 0 0;1 0 0;0 1 0 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^2Estimate SE tStat pValue ___________ __________ _______ __________ (Intercept) 48.906 12.589 3.8847 0.00019665 x1 0.54418 0.57125 0.95261 0.34337 x2 -0.012781 0.0060312 -2.1192 0.036857 x1:x2 -0.00010892 0.00017925 -0.6076 0.545 x2^2 9.7518e-07 7.5389e-07 1.2935 0.19917观测数:94、误差自由度:89均方根误差:4.1 r平方:0.751,调整r平方:0.739 F-statistic vs. constant model: 67, p-value = 4.99e-26

重量변수에대응되는x2항과절편만5%유의수준에서유의미합니다。

범주형 예측 변수를 포함하는 선형 회귀 모델을 피팅합니다. 모델에서 기준 레벨을 제어하기 위해 범주형 예측 변수의 범주를 다시 정렬합니다. 그런 다음方差分析를사용하여범주형변수의유의성을검정합니다。

범주형예측변수를갖는모델

carsmall데이터세트를불러오고,英里/加仑의선형회귀모델을Model_Year의 함수로 생성합니다. 숫자형 벡터Model_Year를범주형변수로처리하기위해“CategoricalVars”이름——값쌍의인수를사용하여예측변수를식별합니다。

负载carsmallmdl = fitlm(model_year,mpg,“CategoricalVars”, 1“VarNames”,{“Model_Year”“英里”})
mdl =线性回归模型:MPG ~ 1 + Model_Year Estimated Coefficients: Estimate SE tStat pValue ________ ______ ______ __________ (Intercept) 17.69 1.0328 17.127 3.2371e-30 Model_Year_76 3.8839 1.4059 2.7625 0.0069402 Model_Year_82 14.02 1.4369 9.7571 8.2164e-16观测数:94,误差自由度:91均方根误差:5.56 R-squared: 0.531, Adjusted R-squared: 0.521 F-statistic vs. constant model: 51.6, p-value = 1.07e-15

표시된모델식MPG ~ 1 + Model_Year는다음에해당합니다。

英里/加仑 β 0 + β 1 Ι 一年 76 + β 2 Ι 一年 82 + ϵ

여기서 Ι 一年 76 Ι 一年 82 Model_Year의값이각각76및82일때값1인이표시변수입니다。Model_Year변수는 3.개의 고유한 값을 포함하고 있으며, 이는唯一的함수를사용해서확인할수있습니다。

独特的(Model_Year)
ans =3×170 76 82

fitlmModel_Year에서가장작은값을기준레벨('70')로선택하고두개의표시변수 Ι 一年 76 Ι 一年 82 를생성합니다。모델이3개의표시변수(각레벨당1개)와1개의절편항을포함하는경우설계행렬이랭크부족이되므로모델은2개의표시변수만포함합니다。

전체 표시 변수를 갖는 모델

mdl의모델식을절편항이없고3개의표시변수를갖는모델로해석할수있습니다。

y β 0 Ι x 1 70 + β 0 + β 1 Ι x 1 76 + β 0 + β 2 Ι x 2 82 + ϵ

또는표시변수를수동으로생성하고모델식을지정하여절편항이없고3개의표시변수를갖는모델을생성할수도있습니다。

临时年=dummyvar(分类(车型年));车型年=临时年(:,1);车型年=临时年(:,2);车型年=临时年(:,3);tbl=表格(车型年70,车型年76,车型年82,MPG);mdl=fitlm(tbl,'MPG ~ Model_Year_70 + Model_Year_76 + Model_Year_82 - 1'
2.统计系数:估计系数:估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,估计,例如,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们,我们误差:94,误差度自由度:91均方根误差:5.56

모델에서기준레벨선택하기

범주형 변수에서 범주 순서를 수정하여 기준 레벨을 선택할 수 있습니다. 먼저 범주형 변수一年를만듭니다。

年=分类(Model_Year);

类别함수를사용하여범주의순서를확인합니다。

类别(年)
ans =3 x1细胞””{70}{76}{82 '}

一年를예측변수로사용할경우fitlm은 첫 번째 범주'70'을기준레벨로선택합니다。reordercats함수를사용하여一年를다시정렬합니다。

年份= reordercats(年,{'76''70'“82”});类别(重新排序的年份)
ans =3 x1细胞{'76'} {'70'} {'82'}

Year_reordered의첫번째범주는'76'입니다。英里/加仑의선형회귀모델을Year_reordered의 함수로 생성합니다.

mdl2 = fitlm(yor_reordered,mpg,“VarNames”,{“Model_Year”“英里”})
mdl2=线性回归模型:MPG~1+模型年估计系数:估计统计值(截距)21.574 0.95387 22.617 4.0156e-39车型年份70-3.8839 1.4059-2.7625 0.0069402车型年份82 10.136 1.3812 7.3385 8.7634e-11观测值数量:94,误差自由度:91均方根误差:5.56 R平方:0.531,调整后的R平方:0.521 F统计量与常数模型:51.6,p值=1.07e-15

mdl2'76'을기준레벨로사용하고두개의표시변수 Ι 一年 70 Ι 一年 82 를포함합니다。

범주형예측변수평가하기

mdl2의모델표시화면은대응되는계수가0인지여부를검정하기위해각항의p——값을포함합니다。각p——값은각표시변수를조사합니다。범주형변수Model_Year를표시변수의그룹으로조사하려면方差分析를사용하십시오。모델의상수항을제외한각변수에대해분산분석통계량을포함하는성분분산분석표를반환하도록“组件”(디폴트 값) 옵션을 사용합니다.

方差分析(mdl2,“组件”
ans =2×5表SumSq DF MeanSq F pValue ________ ______ _____ __________ Model_Year 3190.1 2 1595.1 51.56 1.0694e-15错误2815.2 91 30.936

성분분산분석표는표시변수의p-값보다 작은Model_Year변수의p——값을포함합니다。

선형 회귀 모델을 표본 데이터에 피팅합니다. 응답 변수와 예측 변수를 지정하고 쌍별(成对)상호 작용 항만 모델에 포함시킵니다.

표본데이터를를불러。

负载医院

상호작용항이있는선형모델을데이터에피팅합니다。체중을응답변수로지정하고,성별,연령및흡연여부를예측변수로지정합니다。또한,성별과흡연여부가범주형변수임을지정합니다。

mdl=fitlm(医院、,“互动”“ResponseVar”“重量”...“PredictorVars”,{“性”“年龄”“吸烟者”},...“CategoricalVar”,{“性”“吸烟者”})
mdl =线性回归模型:体重~ 1 +性别*年龄+性别*吸烟者+年龄*吸烟者Estimate SE tStat pValue ________ _______ ________ __________ (Intercept) 118.7 7.0718 16.785 6.821e-30 Sex_Male 68.336 9.7153 7.0339 3.3386e-10 Age 0.31068 0.18531 1.6765 0.096991 Smoker_1 3.0425 10.446 0.29127 0.77149 Sex_Male:Smoker_1 0.9509 3.8031 0.25003 0.80312 Age:Smoker_1 -0.07288 0.26275-0.27737 0.78211观测数:100,误差自由度:93均方根误差:8.75 r平方:0.898,调整r平方:0.892 F-statistic vs. constant模型:137,p-value = 6.91e-44

5%유의수준에서환자의이연령,흡연여부여부환자의이러한인자인자의상호작용에에크게않은것으로으로따라크게다르지것으로으로으로

시멘트조성물이해당시멘트의경화열에미치는영향을측정하는哈尔德데이터세트를불러옵니다。

负载哈尔德

이데이터세트는변수成分를포함합니다。행렬成分는시멘트에존재하는네가지화학성분의조성비율을포함합니다。벡터는각시멘트표본에대해180일이지난후의경화열값을포함합니다。

데이터에로버스트선형회귀모델을피팅합니다。

mdl = fitlm(成分、热、“RobustOpts”“上”
mdl =线性回归模型(稳健拟合):y ~ 1 + x1 + x2 + x3 + x4Estimate SE tStat pValue ________ _______ ________ ________ (Intercept) 60.09 75.818 0.79256 0.4509 x1 1.5753 0.80585 1.9548 0.086346 x2 0.5322 0.78315 0.67957 0.51596 x3 0.13346 0.8166 0.16343 0.87424 x4 -0.12052 0.7672 -0.15709 0.87906观测数:13,误差自由度:8均方根误差:2.65 r平方:0.979,调整后的R-Squared: 0.969 F-statistic vs. constant model: 94.6, p-value = 9.03 -07

자세한내용은로버스트피팅의결과와표준최소제곱피팅의결과를비교하는使用稳健回归降低离群值影响항목을참조하십시오。

10겹교차검증을사용하여회귀모델의평균절대오차를계산합니다。

carsmall데이터세트를불러옵니다。加速度변수및取代변수를 예측 변수로 지정하고重量변수를응답변수로지정합니다。

负载carsmallx1 =加速;x2 =位移;Y =重量;

使用方法regf를생성합니다(이예제의끝부분에나와있음)。이함수는회귀모델을훈련데이터에피팅한다음검정세트에대해예측된차량무게를계산합니다。이함수는예측된차량무게값과실제값을비교한다음평균절대오차(MAE)와검정세트차량무게의범위로수정된美를계산합니다。

참고:이예제에라이브스크립트파일을사용하는경우,regf함수가파일의끝에이미포함되어있습니다。그렇지않은경우,m파일의끝에이함수를만들거나MATLAB®경로에이함수를파일로추가해야합니다。

기본적으로,crossval은10겹교차검증을수행합니다。X1X2y데이터에서만든훈련세트와검정세트10개의분할각각에대해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를생성합니다。

函数tbltrain = table(X1train,X2train,ytrain, X1test,X2test,ytest)...“VariableNames”,{“加速”“位移”“重量”});tbltest =表(X1test X2test,欧美,...“VariableNames”,{“加速”“位移”“重量”});mdl = fitlm (tbltrain,“重量~加速度+位移”);tbltest yfit =预测(mdl);美=意味着(abs (yfit-tbltest.Weight));adjMAE =美/范围(tbltest.Weight);错误= [MAE adjMAE];结束

입력인수

모두축소

예측변수와응답변수를포함하는입력데이터로,테이블또는数据集형배열로지정됩니다。예측변수는숫자형,논리형,直言형,문자또는字符串형일수있습니다。응답변수는숫자형이거나논리형이어야합니다。

  • 기본적으로,fitlm함수는마지막변수를응답변수로받고,나머지변수를예측변수로받습니다。

  • 다른열을응답변수로설정하려면应答器이름——값쌍의인수를사용하십시오。

  • 열 중 일부를 예측 변수로 사용하려면预测变量이름——값쌍의인수를사용하십시오。

  • 모델사양을정의하려면식이나항행렬을사용하여模型规格인수를설정하십시오。이식이나항행렬이예측변수,응답변수로사용할열을지정합니다。

테이블의 변수 이름은 유효한 MATLAB®식별자일필요는없습니다。그러나이름이유효하지않으면모델을피팅하거나조정할때식을사용할수없습니다。예를들면다음과같은상황에서식을사용할수없습니다。

  • 식을사용하여模型规格을지정할수없습니다。

  • addTerms함수또는移除함수를 사용할 때 추가하거나 제거할 항을 지정하기 위해 식을 사용할 수 없습니다.

  • 함수또는步骤行程함수각각을이름——값쌍인수'降低'“上”와 함께 사용할 때 모델의 하한과 상한을 지정하기 위해 식을 사용할 수 없습니다.

isvarname함수를사용하여TBL.에포함된변수이름을확인할수있습니다。변수이름이유효하지않으면matlab.lang.makeValidName함수를사용하여변수이름을변환할수있습니다。

예측변수로,n×p행렬로행렬로지정。여기서n은관측값이고p는예측변수개수입니다。X의 각 열은 하나의 변수를 나타내고, 각 행은 하나의 관측값을 나타냅니다.

기본적으로,명시적으로제거하지않는한모델에상수항이있으므로X에 1.로 구성된 열을 포함시키지 마십시오.

데이터형:仅有一个的|

응답변수로,n×1벡터로지정됩니다。n은여기서관측값개수입니다。y의각요소는X의대응행에대한응답변수입니다。

데이터형:仅有一个的||逻辑

모델사양양,다음값중하나로지정。

  • 모델을명명하는문자형벡터또는字符串형스칼라。

    모델유형
    “不变” 모델에하나의상수(절편)항만있습니다。
    “线性” 모델에 하나의 절편 항과 각 예측 변수에 대한 일차항이 있습니다.
    “互动” 모델에하나의절편항,각예측변수에대한일차항,서로다른예측변수쌍의모든곱(제곱항아님)이있습니다。
    “purequadratic” 모델에 하나의 절편 항과 각 예측 변수에 대한 일차항 및 제곱 항이 있습니다.
    '二次' 모델에하나의절편항,각예측변수에대한일차항및제곱항,서로다른예측변수쌍의모든곱이있습니다。
    保利IJK. 모델이첫번째예측변수에차수까지의모든항을포함하고두번째예측변수에차수j까지의 모든 항을 포함하는 식으로 진행되는 다항식입니다. 숫자 0부터 9까지를 사용하여 각 예측 변수에 대해 최대 차수를 지정합니다. 모델에 상호 작용 항이 있지만 각 상호 작용 항의 차수가 지정된 차수의 최댓값을 초과하지 않습니다. 예를 들어,“poly13”에는절편항과x1, x2, x22, x23., x1* x2, x1* x22항이 있으며, 여기서 x1과x2는 각각 첫 번째 예측 변수, 두 번째 예측 변수입니다.
  • 모델의항을지정하는t×(p + 1)행렬또는항행렬.여기t서는항개수이고,p는예측변수개수이며,+ 1은응답변수에해당합니다。항행렬은예측변수개수가많고항을프로그래밍방식으로생성하려는경우에유용합니다。

  • 다음형식의공식을나타내는문자형벡터또는字符串형스칼라。

    'Y〜术语'

    여기서术语윌킨슨표기법으로지정됩니다。이식에포함된변수이름은TBL.의 변수 이름 또는Varnames로지정된변수이름이어야합니다。또한변수이름은유효MATLAB한식별자여야합니다。

    TBL.또는X의항순서에따라피팅된모델의항순서가결정됩니다。따라서모델의항순서가지정된식에있는항순서와다를수있습니다。

예:'二次'

예:'y ~ x1 + x2^2 + x1:x2'

데이터형:仅有一个的||字符|字符串

이름-값 쌍의 인수

선택적으로名称,值인수가쉼표로구분되어지정됩니다。여기서名称은인수이름이고价值는 대응값입니다.名称은따옴표안에표시해야합니다。name1,value1,...,namen,valuen과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

예:'拦截',false,'predictorvars',[1,3],'responsevar',5,'robustopts','logistic'은은이없는로버스트회귀모델을지정합니다。여기서이알고리즘은디폴트조율상수를가중함수를사용하고,첫번째변수세번째번째는변수이며,다섯다섯변수는변수변수。

범주형변수목록으로,“CategoricalVars”와함께테이블또는dataset형형TBL.의범주형변수이름을포함하는字符串형배열이나문자형벡터로구성된셀형배열,또는어떤열이범주형인지를나타내는논리형또는숫자형인덱스벡터가쉼표로구분되어지정됩니다。

  • 데이터가 테이블 또는 数据集형 배열TBL.에포함된경우,기본적으로fitlm함수함수모든범주형값,논리논리,문자형문자형,string형형,문자형벡터로구성된배열배열범주형로처리。

  • 데이터가행렬X에포함된경우,“CategoricalVars”의디폴트값은빈행렬[]입니다。즉,범주형변수로직접지정하지한한어떠한변수도범주형변수가아닙니다

예를들어,다음중하나를사용하여6개변수중두번째변수와세번째변수를범주형으로지정할수있습니다。

예:“CategoricalVars”,[2,3]

예:'CategoricalVars',逻辑([0 1 1 0 0])

데이터형:仅有一个的||逻辑|字符串|细胞

피팅에서제외시킬관측값으로,“排除”와함께피팅에서제외시킬관측값을나타내는논리형또는숫자형인덱스벡터가쉼표로구분되어지정됩니다。

예를 들어, 다음 예 중 하나를 사용하여 6.개 관측값 중에서 관측값 2.와 관측값 3.을 제외시킬 수 있습니다.

예:“排除”,[2,3]

예:'排除',逻辑([0 1 1 0 0])

데이터형:仅有一个的||逻辑

피팅에 포함된 상수항(절편)에 대한 표시자로,“拦截”와함께符合事实的(상수항포함)또는(모델에서상수항제외)가쉼표로구분되어지정됩니다。

식또는행렬이아니라문자형벡터또는字符串형스칼라를사용하여모델을지정하는경우에만“拦截”를사용하십시오。

예:'拦截',假

피팅에사용할예측변수로,“PredictorVars”와함께테이블또는dataset형형TBL.형의변수이름에대한字符串배열이나문자형벡터로구성된셀형배열또는예측변수열을나타내는논리형또는숫자형인덱스벡터가쉼표로구분되어지정됩니다。

字符串형값또는문자형벡터는TBL.에포함된이름이거나“VarNames”이름——값쌍의인수를사용하여지정하는이름이어야합니다。

디폴트값은X에포함된모든변수또는TBL.에포함된모든변수입니다。단,应答器는예외입니다。

예를 들어, 다음 예 중 하나를 사용하여 두 번째 변수와 세 번째 변수를 예측 변수로 지정할 수 있습니다.

예:“PredictorVars”,[2,3]

예:'PredictorVars',逻辑([0 1 1 0 0])

데이터형:仅有一个的||逻辑|字符串|细胞

피팅에사용할응답변수로,“ResponseVar”와함께테이블또는dataset형형TBL.의변수이름을포함하는문자형벡터나字符串형스칼라또는응답변수열을나타내는논리형또는숫자형인덱스벡터가쉼표로구분되어지정됩니다。일반적으로테이블또는数据集형배열TBL.을피팅할때는“ResponseVar”를사용해야합니다。

예를들어,다음과다음과중하나로네변수,이를테면收益率6개를변수중응답변수로지정할수있습니다。

예:'Responalvar','收益'

예:“ResponseVar”,[4]

예:'ResponseVar',逻辑([0 0 0 1 0 0])

데이터형:仅有一个的||逻辑|字符|字符串

사용할로버스트피팅유형에대한표시자로,“RobustOpts”와함께다음값중하나가쉼표로구분되어지정됩니다。

  • '离开'— 로버스트 피팅 없음.fitlm함수는보통최소제곱해(普通最小二乘法)를사용합니다。

  • “上”- - - - - -로버스트피팅사용。디폴트조율상수를갖는“bisquare”가중치함수를사용합니다。

  • 문자형벡터또는字符串형스칼라-다음표에나와있는로버스트피팅가중치함수의이름。fitlm함수는이표에지정된디폴트조율상수를사용합니다。

  • 두개의필드RobustWgtFun调优을갖는구조체。

    • RobustWgtFun필드는다음표에나와있는로버스트피팅가중치함수의이름을포함하거나사용자지정가중치함수의함수핸들을포함합니다。

    • 调优필드는조율상수를포함합니다。调优필드를설정하지않으면fitlm함수는지정된디폴트조율상수를사용합니다。

    가중치함수 설명 디폴트조율상수
    “安德鲁斯” w=(abs(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/最大值(1,abs(r)) 1.345
    “物流” W = tanh(r) / r 1.205
    'OLS' 보통최소제곱해(가중 함수 없음) 없음
    'talwar' W = 1 * (abs(r)<1)) 2.795
    “welsch” w=exp(-(r.^2)) 2.985
    함수핸들 사용자지정가중치함수로,스케일링된잔차로구성된벡터r을받아r과동일한크기의가중치로구성된벡터를반환합니다。 1
    • 내장가중치함수의디폴트조율상수는응답변수가이상값없이정규분포를가지는경우,보통최소제곱해추정값으로서대략95%정도로통계적효율성을갖는계수추정값을제공합니다。조율상수를낮추면큰잔차에할당된비중강하값이높아지고,조율상수를높이면큰잔차에할당된비중강하값이낮아집니다。

    • 가중치함수의값r은다음과같습니다。

      r = resid /(tune * s * sqrt(1-h))

      여기서渣油는이전반복의잔차로구성된벡터이고,은조율상수이고,h는 최소제곱 피팅의 지렛대값으로 구성된 벡터이며,年代는다음과같이주어진오차항의표준편차에대한추정값입니다。

      s = mad / 0.6745

      疯了는잔차의중앙값과잔차간의중앙값절대편차(平均绝对偏差)입니다。0.6745는상수정규분포에대해무편향추정값을생성합니다。X에p개의열이있을경우,중앙값을계산할때가장작은p개의절대편차가제외됩니다。

로버스트피팅의경우fitlm함수는M -추정을사용하여추정방정식을공식화하고迭代加权最小二乘法(IRLS)방법을 사용하여 방정식을 풉니다.

예:“RobustOpts”,“安德鲁”

변수이름으로,“VarNames”와함께X의열에대한이름을첫번째로포함하고응답변수y의이름을마지막으로포함하는字符串형배열또는문자형벡터로구성된셀형배열이쉼표로구분되어지정됩니다。

“VarNames”는는이블또는dataset형형배열의변수에적용되지되지되지되지되지되지이러한변수변수이미이름을을갖고있기때문때문。

MATLAB변수이름은유효한식별자일필요는없습니다。그러나이름이유효하지않으면모델을피팅하거나조정할때식을사용할수없습니다。예를들면다음과같은상황에서식을사용할수없습니다。

  • addTerms함수또는移除함수를 사용할 때 추가하거나 제거할 항을 지정하기 위해 식을 사용할 수 없습니다.

  • 함수또는步骤行程함수각각을이름——값쌍인수'降低'“上”와 함께 사용할 때 모델의 하한과 상한을 지정하기 위해 식을 사용할 수 없습니다.

VarNames, VarNames를지정하기전에,isvarname함수를사용하여varNames에포함된변수이름을확인할수있습니다。변수이름이유효하지않으면matlab.lang.makeValidName함수를사용하여변수이름을변환할수있습니다。

예:VarNames,{“马力”,“加速”,“Model_Year”,“英里”}

데이터형:字符串|细胞

관측값가중치로,“重量”와함께음이아닌스칼라값으로구성된n×1벡터가쉼표로구분되어지정됩니다。n은여기서관측값개수입니다。

데이터형:仅有一个的|

출력 인수

모두축소

데이터에대한응답변수의최소제곱피팅을나타내는선형모델로,LinearModel객체로반환됩니다。

“RobustOpts”이름——값쌍의값이[]또는'OLS'가아닌경우,이모델은최소제곱피팅이아니지만,로버스트피팅함수를사용합니다。

세부 정보

모두축소

항행렬

항행렬T는 모델의 항을 지정하는 t×(p+1)행렬입니다. 여기서 T는 항 개수이고, P는 예측 변수 개수이며, +1.은 응답 변수에 해당합니다.T (i, j)의 값은 항에포함된변수j의지수입니다。

예를들어3개의예측변수x1x2x3과 응답 변수yx1x2x3y의순서로포함하는입력값이있다고가정하겠습니다。T의 각 행은 하나의 항을 나타냅니다.

  • [0 0 0]- - - - - -상수항또는절편

  • [0 1 0 0]- - - - - -x2또는x1 ^ 0 * x2 ^ 1 * x3 ^ 0

  • [1 0 1 0]- - - - - -x1 * x3

  • [2 0 0]- - - - - -x1 ^ 2

  • [0 1 2 0]- - - - - -x2 * (x3 ^ 2)

각항의끝에있는0은응답변수를나타냅니다。일반적으로항행렬에서0으로구성된열벡터는응답변수의위치를나타냅니다。행렬과열벡터로예측변수와응답변수를지정하는경우각행의마지막열에응답변수를나타내는0을 포함시켜야 합니다.

공식

모델사양의식은다음형식의문자형벡터또는字符串형스칼라입니다。y术语

  • y는응답변수이름입니다。

  • 术语는 윌킨슨 표기법을 사용하여 모델의 예측 변수 항을 표현합니다.

예측 변수와 응답 변수를 표현하려면, 테이블 입력값TBL.의변수이름을사용하거나VarNames를 사용하여 지정된 변수 이름을 사용하십시오.VarNames의디폴트값은{x1, x2,…,‘xn’,‘y’}입니다。

예를들면다음과같습니다。

  • 'y ~ x1 + x2 + x3'3개는변수가이며절편이있는선형모델을지정합니다。

  • ‘y~x1+x2+x3–1’3개은변수가이며절편이없는선형모델을지정합니다。공식에는기본적으로상수항(절편)이포함되어있습니다。모델에서상수항을제외하려면공식에1을 포함시켜야 합니다.

공식은1을사용하여상수항을명시적으로제거하지않는한상수항을항상포함시킵니다。

윌킨슨표기법

윌킨슨표기법은모델에존재하는항을설명합니다。이표기법은모델에존재하는항과관련이있으며,이러한항의승수(계수)와는관련이없습니다。

윌킨슨 표기법은 다음과 같은 기호를 사용합니다.

  • +- - - - - -다음변수를포함함을의미합니다。

  • - - - - - -- - - - - -다음변수를포함하지않음을의미합니다。

  • - 상호 작용, 즉 항의 곱을 정의합니다.

  • - - - - - -상호작용과모든낮은차수항을정의합니다。

  • - 예측변수를거듭제곱합니다。이는를반복하는것과동일하며,따라서은낮은차수항도포함합니다。

  • ()- 항을 그룹화합니다.

다음표에는윌킨슨표기법의일반적인예가나와있습니다。

윌킨슨표기법 표준표기법으로표현되는항
1 상수(절편) 항
x1 ^ k.여기서k는양의정수입니다。 x1x12、……x1k
x1+x2 x1x2
x1 * x2 x1x2x1 * x2
x1:x2 x1 * x2
–x2 x2를포함시키지않음
x1 * x2 + x3 x1x2x3x1 * x2
X1 + x2 + x3 + X1:x2 x1x2x3x1 * x2
x1 * x2 * x3 - x1, x2, x3 x1x2x3x1 * x2x1 * x3x2*x3
x1 * (x2 + x3) x1x2x3x1 * x2x1 * x3

자세한내용은Wilkinson表示法항목을참조하십시오。

  • LinearModel객체mdl의모델속성에액세스하려면점표기법을사용하면됩니다。예를들어,残差는모델에대한원시잔차값,피어슨(Pearson)잔차값,스튜던트화잔차값및표준화잔차값으로구성된테이블을반환합니다。

  • 모델을훈련시킨후에는새데이터에대한응답변수를예측하는C / c++코드를생성할수있습니다。C / c++코드를생성하려면MATLAB编码器™가필요합니다。자세한내용은代码生成简介항목을참조하십시오。

알고리즘

  • 주요 피팅 알고리즘은 QR분해입니다.로버스트피팅의경우fitlm함수는M -추정을사용하여추정방정식을공식화하고迭代加权最小二乘法(IRLS)방법을 사용하여 방정식을 풉니다.

  • fitlm함수는범주형변수변수다음과다음과이처리처리。

    • 범수준(주)이L개인범주형예측변수를갖는모델은L - 1개의표시변수를갖습니다。이모델은첫번째범주를기준레벨로사용하므로기준레벨에대한표시변수는포함하지않습니다。범주형예측변수의데이터형이分类인 경우类别를사용하여범주순서를확인하고reordercats를 사용하여 범주를 다시 정렬하여 기준 레벨을 사용자 지정할 수 있습니다. 표시 변수 생성에 대한 자세한 내용은虚拟变量的自动创建항목을참조하십시오。

    • fitlm함수는L - 1개의표시변수그룹을단일변수로처리합니다。표시변수를고유한예측변수로처리하려면dummyvar을사용하여표시변수를수동으로만드십시오。그런다음모델을피팅할때범주형변수의기준레벨에해당하는변수를제외한표시변수를사용하십시오。범주형예측변수X의경우,dummyvar (X)의모든열과절편항을예측변수로지정하면설계행렬은랭크부족이됩니다。

    • 연속형예측변수와수준이L개인범주형예측변수사이의상호작용항은L - 1개의표시표시변수와와예측변수의요소별요소별곱으로구성

    • 수준이L개인범주형예측변수와수준이M개인범주형예측변수의두범주형예측변수사이의상호작용항은(L-1)*(M-1)개의표시변수로구성되어두범주형예측변수수준의모든가능한조합을포함합니다。

    • 표시변수의제곱은그자신과동일하기때문에범주형예측변수에대한고차항은지정할수없습니다。

  • fitlm함수는TBL.XY(빈문자형벡터),""(빈字符串형),<缺失><定义>값을누락값으로간주합니다。fitlm함수는피팅할때누락값이있는관측값을사용하지않습니다。피팅된모델의观察税收속성은fitlm함수가 피팅에서 각 관측값을 사용하는지 여부를 나타냅니다.

대체기능

  • 고차원데이터세트에대한계산시간을단축시키려면fitrlinear함수를사용하여선형회귀모델을피팅하십시오。

  • 회귀를 정규화하려면fitrlinear套索또는plsregress를사용하십시오。

    • fitrlinear는고차원데이터세트에대한회귀를套索또는능형회귀를사용하여정규화합니다。

    • 套索는套索또는신축망을사용하여선형회귀에서중복된예측변수를제거합니다。

    • 는상관관계를갖는항이있는회귀를능형회귀를사용하여정규화합니다。

    • plsregress는상관관계를갖는항이있는회귀를부분최소제곱을사용하여정규화합니다。

참고문헌

[1] Dumouchel,W. H.和F. L. O'Brien。“将强大的选项集成到多元回归计算环境中。”计算机科学与统计:第21届界面研讨会的诉讼程序。亚历山大,VA:美国统计协会,1989年。

[2] Holland,P.W.和R.E.Welsch,“使用迭代加权最小二乘法的稳健回归”,《统计学中的交流:理论和方法》,A61977,第813-827页。

[3] 《稳健统计》,新泽西州霍博肯:约翰·威利父子公司,1981年。

[4] 《关于通过迭代加权最小二乘法计算稳健回归估计的说明》,《美国统计学家》,1988年第42卷,第152-154页。

확장기능

R2013b에개발됨