LinearModel
선형 회귀 모델
설명
LinearModel
은 피팅된 선형 회귀 모델 객체입니다. 회귀 모델은 응답 변수와 예측 변수 사이의 관계를 설명합니다. 선형 회귀 모델의 선형성은 예측 변수 계수의 선형성을 가리킵니다.
LinearModel
객체의 속성을 사용하여 피팅된 선형 회귀 모델을 조사하십시오. 객체 속성에는 계수 추정값, 요약 통계량, 피팅 방법 및 입력 데이터에 대한 정보가 포함됩니다. 객체 함수를 사용하여 응답 변수를 예측하고 선형 회귀 모델을 수정, 평가 및 시각화하십시오.
생성
LinearModel
객체는 fitlm
또는 stepwiselm
을 사용하여 생성할 수 있습니다.
fitlm
은 고정된 모델 사양을 사용하여 선형 회귀 모델을 데이터에 피팅합니다. 모델에서 항을 추가하거나 제거하려면 addTerms
, removeTerms
또는 step
을 사용하십시오. 또는 단계적 선형 회귀를 사용하여 모델을 피팅하려면 stepwiselm
을 사용하십시오.
속성
계수 추정값
CoefficientCovariance
— 계수 추정값으로 구성된 공분산 행렬
숫자형 행렬
읽기 전용 속성입니다.
계수 추정값으로 구성된 공분산 행렬로, 숫자형 값으로 구성된 p×p 행렬로 지정됩니다. p는 NumCoefficients
로 주어진 피팅된 모델에 포함된 계수의 개수입니다.
자세한 내용은 계수 표준 오차 및 신뢰구간 항목을 참조하십시오.
데이터형: single
| double
CoefficientNames
— 계수 이름
문자형 벡터로 구성된 셀형 배열
읽기 전용 속성입니다.
계수 이름으로, 각각 대응되는 항의 이름을 포함하는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.
데이터형: cell
Coefficients
— 계수 값
table형
읽기 전용 속성입니다.
계수 값으로, 테이블로 지정됩니다. Coefficients
는 각 계수에 대해 하나의 행과 다음과 같은 열을 포함합니다.
Estimate
— 추정된 계수 값SE
— 추정값의 표준 오차tStat
— 계수가 0인지를 확인하는 귀무가설을 사용하는 양측 검정에 대한 t-통계량pValue
— t-통계량에 대한 p-값
계수에 대해 다른 검정을 수행하려면 anova
(선형 회귀 모델만 해당) 또는 coefTest
를 사용하십시오. 계수 추정값의 신뢰구간을 구하려면 coefCI
를 사용하십시오.
이러한 열 중 하나를 벡터로 얻으려면 점 표기법을 사용하여 속성의 요소를 참조하십시오. 예를 들어, 다음과 같이 모델 mdl
에서 추정된 계수 벡터를 얻습니다.
beta = mdl.Coefficients.Estimate
데이터형: table
NumCoefficients
— 모델 계수의 개수
양의 정수
읽기 전용 속성입니다.
모델 계수의 개수로, 양의 정수로 지정됩니다. NumCoefficients
는 모델 항이 랭크 부족인 경우 0으로 설정되는 계수를 포함합니다.
데이터형: double
NumEstimatedCoefficients
— 추정된 계수의 개수
양의 정수
읽기 전용 속성입니다.
모델에서 추정된 계수의 개수로, 양의 정수로 지정됩니다. NumEstimatedCoefficients
는 모델 항이 랭크 부족인 경우 0으로 설정되는 계수를 포함하지 않습니다. NumEstimatedCoefficients
는 회귀에 대한 자유도입니다.
데이터형: double
요약 통계량
DFE
— 오차에 대한 자유도
양의 정수
읽기 전용 속성입니다.
오차(잔차)에 대한 자유도로, 관측값 개수에서 추정된 계수 개수를 뺀 값과 같으며, 양의 정수로 지정됩니다.
데이터형: double
Diagnostics
— 관측값 진단
table형
읽기 전용 속성입니다.
관측값 진단으로, 각 관측값에 대해 하나의 행과 다음 표에 설명된 열을 포함하는 테이블로 지정됩니다.
열 | 의미 | 설명 |
---|---|---|
Leverage | HatMatrix 의 대각선 요소 | 각 관측값에 대한 Leverage 는 관측된 예측 변수 값에 의해 피팅이 결정되는 정도를 나타냅니다. 값이 1 에 가까우면 피팅이 다른 관측값의 영향을 거의 받지 않고 주로 해당 관측값에 의해 결정됨을 나타냅니다. 값이 0 에 가까우면 피팅이 주로 다른 관측값에 의해 결정됨을 나타냅니다. P 개의 계수와 N 개의 관측값이 있는 모델의 경우, Leverage 의 평균값은 P/N 입니다. 2*P/N 보다 큰 Leverage 값은 높은 지렛대값을 나타냅니다. |
CooksDistance | 쿡의 거리 | CooksDistance 는 피팅된 값의 스케일링된 변화량에 대한 측정값입니다. CooksDistance 가 평균 쿡의 거리(Cook's Distance)의 세 배보다 큰 관측값은 이상값일 수 있습니다. |
Dffits | 피팅된 값의 Delete-1 스케일링된 차분 | Dffits 는 각 관측값에 대해 피팅된 값의 스케일링된 변화량으로, 피팅에서 해당 관측값을 제외시키면 얻게 됩니다. 절댓값이 2*sqrt(P/N) 보다 큰 값은 영향점으로 간주될 수 있습니다. |
S2_i | Delete-1 분산 | S2_i 는 각 관측값을 차례로 삭제하여 구한 잔차 분산 추정값 집합입니다. 이러한 추정값을 MSE 속성에 저장된 평균제곱오차(MSE) 값과 비교할 수 있습니다. |
CovRatio | 공분산 행렬식의 Delete-1 비율 | CovRatio 는 전체 모델에 대한 공분산 행렬의 행렬식에 대해 각 관측값을 차례로 삭제한 계수 공분산 행렬의 행렬식 비율입니다. 1 + 3*P/N 보다 크거나 1 – 3*P/N 보다 작은 값은 영향점을 나타냅니다. |
Dfbetas | 계수 추정값의 Delete-1 스케일링된 차분 | Dfbetas 는 계수 추정값의 스케일링된 변화량으로 구성된 N ×P 행렬로, 각 관측값을 차례로 제외시켜 얻을 수 있습니다. 절댓값이 3/sqrt(N) 보다 큰 값은 관측값이 해당 계수에 미치는 영향이 크다는 것을 나타냅니다. |
HatMatrix | 관측된 응답 변수에서 fitted 를 계산하기 위한 투영 행렬 | HatMatrix 는 Fitted = HatMatrix*Y 를 충족하는 N ×N 행렬이며, 여기서 Y 는 응답 변수 벡터이고 Fitted 는 피팅된 응답 변수 값으로 구성된 벡터입니다. |
Diagnostics
는 이상값 및 영향 관측값을 구하는 데 도움이 되는 정보를 포함합니다. Delete-1 진단은 피팅에서 각 관측값을 차례로 제외시켜 얻은 변화량을 캡처합니다. 자세한 내용은 Hat Matrix and Leverage, Cook’s Distance 및 Delete-1 Statistics 항목을 참조하십시오.
관측값 진단을 플로팅하려면 plotDiagnostics
를 사용하십시오.
누락값(ObservationInfo.Missing
에 있음) 또는 제외된 값(ObservationInfo.Excluded
에 있음)으로 인해 피팅에 사용되지 않은 행에는 CooksDistance
, Dffits
, S2_i
, CovRatio
열에 NaN
값이 포함되고 Leverage
, Dfbetas
, HatMatrix
열에 0이 포함됩니다.
이러한 열 중 하나를 배열로 얻으려면 점 표기법을 사용하여 속성의 요소를 참조하십시오. 예를 들어, 다음과 같이 모델 mdl
에서 Delete-1 분산 벡터를 구합니다.
S2i = mdl.Diagnostics.S2_i;
데이터형: table
Fitted
— 입력 데이터를 기준으로 피팅된 응답 변수 값
숫자형 벡터
읽기 전용 속성입니다.
입력 데이터를 기준으로 피팅된(예측된) 응답 변수 값으로, n×1 숫자형 벡터로 지정됩니다. n은 입력 데이터에 포함된 관측값 개수입니다. predict
를 사용하여 다른 예측 변수 값에 대한 예측값을 계산하거나 Fitted
에 대한 신뢰한계를 계산할 수 있습니다.
데이터형: single
| double
LogLikelihood
— 로그 가능도
숫자형 값
읽기 전용 속성입니다.
응답 변수 값의 로그 가능도로, 각 응답 변수 값이 정규분포를 따른다는 가정에 기반하여 숫자형 값으로 지정됩니다. 정규분포의 평균은 피팅된(예측된) 응답 변수 값이고, 분산은 MSE
입니다.
데이터형: single
| double
ModelCriterion
— 모델 비교 기준
구조체
읽기 전용 속성입니다.
모델 비교 기준으로, 다음 필드를 가진 구조체로 지정됩니다.
AIC
— 아카이케 정보 기준(AIC: Akaike's Information Criterion)으로AIC = –2*logL + 2*m
입니다. 여기서logL
은 로그 가능도이며m
은 추정된 모수의 개수입니다.AICc
— 표본 크기에 대해 수정된 아카이케 정보 기준으로AICc = AIC + (2*m*(m + 1))/(n – m – 1)
입니다. 여기서n
은 관측값 개수입니다.BIC
— 베이즈 정보 기준(BIC: Bayesian Information Criterion)으로BIC = –2*logL + m*log(n)
입니다.CAIC
— 일관된 아카이케 정보 기준으로CAIC = –2*logL + m*(log(n) + 1)
입니다.
정보 기준은 동일한 데이터에 대한 여러 모델 피팅을 비교하는 데 사용할 수 있는 모델 선택 도구입니다. 이 기준은 복잡도(특히 모수 개수)에 대한 벌점을 포함하는 모델 피팅에 대한 가능도 기반 측정값입니다. 각기 다른 정보 기준은 벌점 형식으로 구분됩니다.
여러 모델을 비교할 때는 정보 기준 값이 가장 낮은 모델이 가장 적합한 피팅 모델입니다. 최적의 피팅 모델은 모델 비교에 사용된 기준에 따라 다를 수 있습니다.
기준 값 중 하나를 스칼라로 구하려면 점 표기법을 사용하여 속성을 참조하십시오. 예를 들어, 다음과 같이 모델 mdl
에서 AIC 값 aic
를 구합니다.
aic = mdl.ModelCriterion.AIC
데이터형: struct
ModelFitVsNullModel
— 회귀 모델에 대한 F-통계량
구조체
읽기 전용 속성입니다.
회귀 모델에 대한 F-통계량으로, 구조체로 지정됩니다. ModelFitVsNullModel
구조체는 다음과 같은 3개의 필드를 포함합니다.
Fstats
— 피팅된 모델과 null 모델을 대조한 F-통계량Pvalue
— F-통계량에 대한 p-값NullModel
— null 모델 유형
데이터형: struct
MSE
— 평균제곱오차
숫자형 값
읽기 전용 속성입니다.
평균제곱오차(잔차)로, 숫자형 값으로 지정됩니다.
MSE = SSE / DFE,
여기서 MSE는 평균제곱오차이고, SSE는 오차제곱합이며, DFE는 자유도입니다.
데이터형: single
| double
Residuals
— 피팅된 모델의 잔차
table형
읽기 전용 속성입니다.
피팅된 모델의 잔차로, 각 관측값에 대해 하나의 행과 다음 표에 설명된 열을 포함하는 테이블로 지정됩니다.
열 | 설명 |
---|---|
Raw | 관측값에서 피팅값을 뺀 값입니다. |
Pearson | 원시 잔차를 RMSE(RMS 오차)로 나눈 값입니다. |
Standardized | 원시 잔차를 잔차의 추정된 표준편차로 나눈 값입니다. |
Studentized | 원시 잔차를 잔차 표준편차에 대한 독립적인 추정값으로 나눈 값입니다. 관측값 i에 대한 잔차를 관측값 i를 제외한 모든 관측값을 기반으로 하는 오차 표준편차의 추정값으로 나누어 얻습니다. |
잔차에 대한 플롯을 생성하려면 plotResiduals
를 사용하십시오. 자세한 내용은 Residuals 항목을 참조하십시오.
누락값(ObservationInfo.Missing
에 있음) 또는 제외된 값(ObservationInfo.Excluded
에 있음)으로 인해 피팅에 사용되지 않은 행에는 NaN
값이 포함됩니다.
이러한 열 중 하나를 벡터로 얻으려면 점 표기법을 사용하여 속성의 요소를 참조하십시오. 예를 들어, 다음과 같이 모델 mdl
에서 원시 잔차 벡터 r
을 구합니다.
r = mdl.Residuals.Raw
데이터형: table
RMSE
— RMS 오차
숫자형 값
읽기 전용 속성입니다.
RMS 오차(잔차)로, 숫자형 값으로 지정됩니다.
RMSE = sqrt(MSE),
여기서 RMSE는 RMS 오차이고 MSE는 평균제곱오차입니다.
데이터형: single
| double
Rsquared
— 모델에 대한 결정계수 값
구조체
읽기 전용 속성입니다.
모델에 대한 결정계수 값으로, 다음 두 필드를 가지는 구조체로 지정됩니다.
Ordinary
— 일반(수정되지 않은) 결정계수Adjusted
— 계수 개수에 대해 수정된 결정계수
결정계수 값은 모델로 설명되는 총 제곱합의 비율입니다. 일반 결정계수 값은 SSR
속성 및 SST
속성과 관련이 있습니다.
Rsquared = SSR/SST
,
여기서 SST
는 총 제곱합이고, SSR
은 회귀제곱합입니다.
자세한 내용은 결정계수(R 제곱) 항목을 참조하십시오.
이러한 값 중 하나를 스칼라로 얻으려면 점 표기법을 사용하여 속성을 참조하십시오. 예를 들어, 다음과 같이 모델 mdl
에서 수정된 결정계수 값을 구합니다.
r2 = mdl.Rsquared.Adjusted
데이터형: struct
SSE
— 오차제곱합
숫자형 값
읽기 전용 속성입니다.
오차(잔차)의 제곱합으로, 숫자형 값으로 지정됩니다. 모델이 관측값 가중치로 훈련된 경우, SSE
계산에서 제곱합은 가중치를 적용한 제곱합입니다.
절편을 포함하는 선형 모델의 경우, 피타고라스 정리는 다음을 의미합니다.
SST = SSE + SSR
,
여기서 SST
는 총 제곱합이고, SSE
는 오차제곱합이고, SSR
은 회귀제곱합입니다.
로버스트 선형 모델의 SST
계산에 대한 자세한 내용은 SST
항목을 참조하십시오.
데이터형: single
| double
SSR
— 회귀제곱합
숫자형 값
읽기 전용 속성입니다.
회귀제곱합으로, 숫자형 값으로 지정됩니다. SSR
은 피팅된 값과 응답 변수의 평균 간 편차제곱합과 같습니다. 모델이 관측값 가중치로 훈련된 경우, SSR
계산에서 제곱합은 가중치를 적용한 제곱합입니다.
절편을 포함하는 선형 모델의 경우, 피타고라스 정리는 다음을 의미합니다.
SST = SSE + SSR
,
여기서 SST
는 총 제곱합이고, SSE
는 오차제곱합이고, SSR
은 회귀제곱합입니다.
로버스트 선형 모델의 SST
계산에 대한 자세한 내용은 SST
항목을 참조하십시오.
데이터형: single
| double
SST
— 총 제곱합
숫자형 값
읽기 전용 속성입니다.
총 제곱합으로, 숫자형 값으로 지정됩니다. SST
는 mean(y)
와 응답 변수 벡터 y
간의 편차제곱합과 같습니다. 모델이 관측값 가중치로 훈련된 경우, SST
계산에서 제곱합은 가중치를 적용한 제곱합입니다.
절편을 포함하는 선형 모델의 경우, 피타고라스 정리는 다음을 의미합니다.
SST = SSE + SSR
,
여기서 SST
는 총 제곱합이고, SSE
는 오차제곱합이고, SSR
은 회귀제곱합입니다.
로버스트 선형 모델의 경우, SST
는 mean(y)
와 응답 변수 벡터 y
간의 편차제곱합으로 계산되지 않습니다. 이 속성은 SST = SSE + SSR
로 계산됩니다.
데이터형: single
| double
피팅 방법
Robust
— 로버스트 피팅 정보
구조체
읽기 전용 속성입니다.
로버스트 피팅 정보로, 다음 표에 설명된 필드를 가지는 구조체로 지정됩니다.
필드 | 설명 |
---|---|
WgtFun | 로버스트 가중치 함수. 'bisquare' 를 예로 들 수 있습니다('RobustOpts' 참조). |
Tune | 조율 상수. WgtFun 이 'ols' 이거나 WgtFun 이 디폴트 조율 상수가 1인 사용자 지정 가중치 함수에 대한 함수 핸들인 경우 이 필드는 비어 있습니다([] ). |
Weights | 로버스트 피팅의 최종 반복에 사용되는 가중치로 구성된 벡터. CompactLinearModel 객체의 경우 이 필드는 비어 있습니다. |
로버스트 회귀를 사용하여 모델을 생성하지 않으면 이 구조체는 비어 있습니다.
데이터형: struct
Steps
— 단계적 피팅 정보
구조체
읽기 전용 속성입니다.
단계적 피팅 정보로, 다음 표에 설명된 필드를 갖는 구조체로 지정됩니다.
필드 | 설명 |
---|---|
Start | 시작 모델을 나타내는 식 |
Lower | 하한 모델을 나타내는 식. Lower 의 항들은 모델에서 유지되어야 합니다. |
Upper | 상한 모델을 나타내는 식. 모델은 Upper 보다 더 많은 항을 포함할 수 없습니다. |
Criterion | 단계별 알고리즘에 사용되는 기준(예: 'sse' ) |
PEnter | Criterion 이 항을 추가할 분계점 |
PRemove | Criterion 이 항을 제거할 분계점 |
History | 피팅에서 수행하는 단계를 나타내는 테이블 |
History
테이블은 초기 피팅을 포함하여 각 단계에 대해 하나의 행과 다음 표에 설명된 열을 포함합니다.
열 | 설명 |
---|---|
Action | 해당 단계에서 수행되는 동작:
|
TermName |
|
Terms | 항 행렬의 모델 사양 |
DF | 해당 단계 이후의 회귀 자유도 |
delDF | 이전 단계에 비해 달라진 회귀 자유도의 변화량(항을 제거하는 단계의 경우 음수임) |
Deviance | 해당 단계에서의 이탈도, 즉 잔차제곱합(일반화 선형 회귀 모델만 해당) |
FStat | 해당 단계로 이어지는 F-통계량 |
PValue | F-통계량의 p-값 |
단계적 회귀를 사용하여 모델을 피팅하지 않는 한, 구조체는 비어 있습니다.
데이터형: struct
입력 데이터
Formula
— 모델 정보
LinearFormula
객체
읽기 전용 속성입니다.
모델 정보로, LinearFormula
객체로 지정됩니다.
다음과 같이 점 표기법을 사용하여 피팅된 모델 mdl
의 수식을 표시합니다.
mdl.Formula
NumObservations
— 관측값 개수
양의 정수
읽기 전용 속성입니다.
피팅 함수가 피팅에 사용하는 관측값 개수로, 양의 정수로 지정됩니다. NumObservations
는 원래 테이블, 데이터셋 또는 행렬에 제공된 관측값 개수에서 제외된 행('Exclude'
이름-값 쌍의 인수로 설정됨) 또는 누락값이 있는 행을 뺀 값입니다.
데이터형: double
NumPredictors
— 예측 변수의 개수
양의 정수
읽기 전용 속성입니다.
모델을 피팅하는 데 사용되는 예측 변수의 개수로, 양의 정수로 지정됩니다.
데이터형: double
NumVariables
— 변수의 개수
양의 정수
읽기 전용 속성입니다.
입력 데이터에 포함되는 변수의 개수로, 양의 정수로 지정됩니다. NumVariables
는 원래 테이블 또는 데이터셋에 포함된 변수의 개수이거나 예측 변수 행렬 및 응답 변수 벡터에 포함된 열의 총 개수입니다.
NumVariables
는 예측 변수 또는 응답 변수로 모델을 피팅하는 데 사용되지 않은 변수도 포함합니다.
데이터형: double
ObservationInfo
— 관측값 정보
table형
읽기 전용 속성입니다.
관측값 정보로, n×4 테이블로 지정됩니다. 여기서 n은 입력 데이터의 행 개수와 같습니다. ObservationInfo
는 다음 표에 설명된 열을 포함합니다.
열 | 설명 |
---|---|
Weights | 관측값 가중치로, 숫자형 값으로 지정됩니다. 디폴트 값은 1 입니다. |
Excluded | 제외된 관측값에 대한 표시자로, 논리값으로 지정됩니다. 'Exclude' 이름-값 쌍의 인수를 사용하여 피팅에서 관측값을 제외한 경우 값은 true 입니다. |
Missing | 누락 관측값에 대한 표시자로, 논리값으로 지정됩니다. 관측값이 누락된 경우 값은 true 입니다. |
Subset | 피팅 함수가 관측값을 사용하는지 여부를 나타내는 표시자로, 논리값으로 지정됩니다. 관측값이 제외되지 않거나 누락값이 아닌 경우, 즉 피팅 함수가 해당 관측값을 사용하는 경우 값은 true 입니다. |
이러한 열 중 하나를 벡터로 얻으려면 점 표기법을 사용하여 속성의 요소를 참조하십시오. 예를 들어, 다음과 같이 모델 mdl
의 가중 벡터 w
를 구합니다.
w = mdl.ObservationInfo.Weights
데이터형: table
ObservationNames
— 관측값 이름
문자형 벡터로 구성된 셀형 배열
읽기 전용 속성입니다.
관측값 이름으로, 피팅에 사용되는 관측값의 이름을 포함하는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.
피팅이 관측값 이름을 포함하는 테이블 또는 데이터셋을 기반으로 하는 경우
ObservationNames
는 이 이름을 사용합니다.그렇지 않은 경우
ObservationNames
는 빈 셀형 배열입니다.
데이터형: cell
PredictorNames
— 모델을 피팅하는 데 사용되는 예측 변수의 이름
문자형 벡터로 구성된 셀형 배열
읽기 전용 속성입니다.
모델을 피팅하는 데 사용되는 예측 변수의 이름으로, 문자형 벡터로 구성된 셀형 배열로 지정됩니다.
데이터형: cell
ResponseName
— 응답 변수 이름
문자형 벡터
읽기 전용 속성입니다.
응답 변수 이름으로, 문자형 벡터로 지정됩니다.
데이터형: char
VariableInfo
— 변수에 대한 정보
table형
읽기 전용 속성입니다.
Variables
에 포함된 변수에 대한 정보로, 각 변수에 대해 하나의 행과 다음 표에 설명된 열을 갖는 테이블로 지정됩니다.
열 | 설명 |
---|---|
Class | 변수 클래스로, 문자형 벡터로 구성된 셀형 배열로 지정됩니다(예: 'double' 및 'categorical' ). |
Range | 변수 범위로, 벡터로 구성된 셀형 배열로 지정됩니다.
|
InModel | 피팅된 모델에 어느 변수가 포함되었는지에 대한 표시자로, 논리형 벡터로 지정됩니다. 모델이 변수를 포함하는 경우 값은 true 입니다. |
IsCategorical | 범주형 변수에 대한 표시자로, 논리형 벡터로 지정됩니다. 변수가 범주형인 경우 값은 true 입니다. |
VariableInfo
는 예측 변수 또는 응답 변수로 모델을 피팅하는 데 사용되지 않은 변수도 포함합니다.
데이터형: table
VariableNames
— 변수의 이름
문자형 벡터로 구성된 셀형 배열
읽기 전용 속성입니다.
변수의 이름으로, 문자형 벡터로 구성된 셀형 배열로 지정됩니다.
피팅이 테이블 또는 데이터셋을 기반으로 하는 경우 이 속성은 해당 테이블 또는 데이터셋의 변수의 이름을 제공합니다.
피팅이 예측 변수 행렬과 응답 변수 벡터를 기반으로 하는 경우
VariableNames
는 피팅 방법의'VarNames'
이름-값 쌍의 인수로 지정된 값을 포함합니다.'VarNames'
의 디폴트 값은{'x1','x2',...,'xn','y'}
입니다.
VariableNames
는 예측 변수 또는 응답 변수로 모델을 피팅하는 데 사용되지 않은 변수도 포함합니다.
데이터형: cell
Variables
— 입력 데이터
table형
읽기 전용 속성입니다.
입력 데이터로, 테이블로 지정됩니다. Variables
는 예측 변수 값과 응답 변수 값을 모두 포함합니다. 피팅이 테이블 또는 dataset형 배열을 기반으로 하는 경우 Variables
는 해당 테이블 또는 dataset형 배열의 모든 데이터를 포함합니다. 그렇지 않은 경우 Variables
는 입력 데이터 행렬 X
와 응답 변수 벡터 y
에서 생성되는 테이블입니다.
Variables
는 예측 변수 또는 응답 변수로 모델을 피팅하는 데 사용되지 않은 변수도 포함합니다.
데이터형: table
객체 함수
CompactLinearModel
만들기
compact | Compact linear regression model |
선형 모델에서 항 추가 또는 제거
addTerms | Add terms to linear regression model |
removeTerms | Remove terms from linear regression model |
step | Improve linear regression model by adding or removing terms |
응답 변수 예측하기
선형 모델 평가
anova | Analysis of variance for linear regression model |
coefCI | Confidence intervals of coefficient estimates of linear regression model |
coefTest | Linear hypothesis test on linear regression model coefficients |
dwtest | Durbin-Watson test with linear regression model object |
partialDependence | Compute partial dependence |
선형 모델과 요약 통계량 시각화
plot | Scatter plot or added variable plot of linear regression model |
plotAdded | Added variable plot of linear regression model |
plotAdjustedResponse | Adjusted response plot of linear regression model |
plotDiagnostics | Plot observation diagnostics of linear regression model |
plotEffects | Plot main effects of predictors in linear regression model |
plotInteraction | Plot interaction effects of two predictors in linear regression model |
plotPartialDependence | Create partial dependence plot (PDP) and individual conditional expectation (ICE) plots |
plotResiduals | Plot residuals of linear regression model |
plotSlice | Plot of slices through fitted linear regression surface |
선형 모델의 속성 수집하기
gather | Gather properties of Statistics and Machine Learning Toolbox object from GPU |
예제
행렬의 데이터를 사용하여 선형 회귀 피팅하기
행렬 입력 데이터 세트를 사용하여 선형 회귀 모델을 피팅합니다.
행렬 입력 데이터 세트인 carsmall
데이터 세트를 불러옵니다.
load carsmall
X = [Weight,Horsepower,Acceleration];
fitlm
을 사용하여 선형 회귀 모델을 피팅합니다.
mdl = fitlm(X,MPG)
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 Number of observations: 93, Error degrees of freedom: 89 Root Mean Squared Error: 4.09 R-squared: 0.752, Adjusted R-Squared: 0.744 F-statistic vs. constant model: 90, p-value = 7.38e-27
모델 표시 화면에 모델식, 추정된 계수 및 모델 요약 통계량이 포함됩니다.
표시된 모델식 y ~ 1 + x1 + x2 + x3
은 에 해당합니다.
모델 표시 화면에 Coefficients
속성에 저장된, 추정된 계수 정보도 표시됩니다. Coefficients
속성을 표시합니다.
mdl.Coefficients
ans=4×4 table
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
Coefficient
속성은 다음과 같은 열을 포함합니다.
Estimate
— 모델에서 각각의 대응되는 항에 대한 계수 추정값입니다. 예를 들어, 상수항(intercept
)에 대한 추정값은 47.977입니다.SE
— 계수의 표준 오차입니다.tStat
— 모델에 주어진 다른 예측 변수를 상정한 경우, '대응하는 계수가 0이 아니다'는 대립가설에 대해 '계수가 0이다'는 귀무가설을 검정하는 데 사용된 각 계수에 대한 t-통계량입니다. 참고로,tStat = Estimate/SE
입니다. 예를 들어, 절편에 대한 t-통계량은 47.977/3.8785 = 12.37입니다.pValue
— 양측 가설검정에 대한 t-통계량의 p-값입니다. 예를 들어,x2
에 대한 t-통계량의 p-값은 0.05보다 크므로 모델의 다른 항을 고려할 때 이 항은 5% 유의수준에서 유의미하지 않습니다.
모델의 요약 통계량은 다음과 같습니다.
Number of observations
—NaN
값을 포함하지 않는 행 개수입니다. 예를 들어,X
와MPG
의 행 개수는 100개인데MPG
데이터 벡터에NaN
값이 6개 있고Horsepower
데이터 벡터에 다른 관측값에 대한NaN
값이 1개 있기 때문에Number of observations
는 93입니다.Error degrees of freedom
— n – p이며, 여기서 n은 관측값의 개수이고 p는 절편을 포함하여 모델에 포함된 계수의 개수입니다. 예를 들어, 이 모델은 4개의 예측 변수를 가지므로Error degrees of freedom
은 93 – 4 = 89입니다.Root mean squared error
— RMS 오차로, 오차 분포의 표준편차를 추정합니다.R-squared
및Adjusted R-squared
— 각각 결정계수와 수정된 결정계수를 나타냅니다. 예를 들어,R-squared
값은 모델이 응답 변수MPG
의 변동성의 약 75%를 설명한다는 것을 나타냅니다.F-statistic vs. constant model
— 회귀 모델에 대한 F-검정의 검정 통계량으로, 이 모델이 상수항만으로 구성된 퇴화 모델보다 훨씬 더 잘 피팅되는지 여부를 검정합니다.p-value
— 모델에 대한 F-검정의 p-값입니다. 예를 들어, 이 모델은 p-값이 7.3816e-27인 경우 유의미합니다.
모델 속성(NumObservations
, DFE
, RMSE
및 Rsquared
)에서, 그리고 anova
함수를 사용하여 이러한 통계량을 확인할 수 있습니다.
anova(mdl,'summary')
ans=3×5 table
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
plot
을 사용하여 상수(절편) 항을 제외한 전체 모델에 대한 추가 변수 플롯(편회귀 지렛대값 플롯)을 생성합니다.
plot(mdl)
범주형 예측 변수를 사용한 선형 회귀
범주형 예측 변수를 포함하는 선형 회귀 모델을 피팅합니다. 모델에서 기준 레벨을 제어하기 위해 범주형 예측 변수의 범주를 다시 정렬합니다. 그런 다음 anova
를 사용하여 범주형 변수의 유의성을 검정합니다.
범주형 예측 변수를 갖는 모델
carsmall
데이터 세트를 불러오고, MPG
의 선형 회귀 모델을 Model_Year
의 함수로 생성합니다. 숫자형 벡터 Model_Year
를 범주형 변수로 처리하기 위해 'CategoricalVars'
이름-값 쌍의 인수를 사용하여 예측 변수를 식별합니다.
load carsmall mdl = fitlm(Model_Year,MPG,'CategoricalVars',1,'VarNames',{'Model_Year','MPG'})
mdl = Linear regression model: 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 Number of observations: 94, Error degrees of freedom: 91 Root Mean Squared Error: 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
는 다음에 해당합니다.
,
여기서 및 는 Model_Year
의 값이 각각 76 및 82일 때 값이 1인 표시 변수입니다. Model_Year
변수는 3개의 고유한 값을 포함하고 있으며, 이는 unique
함수를 사용해서 확인할 수 있습니다.
unique(Model_Year)
ans = 3×1
70
76
82
fitlm
은 Model_Year
에서 가장 작은 값을 기준 레벨('70'
)로 선택하고 두 개의 표시 변수 과 를 생성합니다. 모델이 3개의 표시 변수(각 레벨당 1개)와 1개의 절편 항을 포함하는 경우 설계 행렬이 랭크 부족이 되므로 모델은 2개의 표시 변수만 포함합니다.
전체 표시 변수를 갖는 모델
mdl
의 모델식을 절편 항이 없고 3개의 표시 변수를 갖는 모델로 해석할 수 있습니다.
.
또는 표시 변수를 수동으로 생성하고 모델식을 지정하여 절편 항이 없고 3개의 표시 변수를 갖는 모델을 생성할 수도 있습니다.
temp_Year = dummyvar(categorical(Model_Year));
Model_Year_70 = temp_Year(:,1);
Model_Year_76 = temp_Year(:,2);
Model_Year_82 = temp_Year(:,3);
tbl = table(Model_Year_70,Model_Year_76,Model_Year_82,MPG);
mdl = fitlm(tbl,'MPG ~ Model_Year_70 + Model_Year_76 + Model_Year_82 - 1')
mdl = Linear regression model: MPG ~ Model_Year_70 + Model_Year_76 + Model_Year_82 Estimated Coefficients: Estimate SE tStat pValue ________ _______ ______ __________ Model_Year_70 17.69 1.0328 17.127 3.2371e-30 Model_Year_76 21.574 0.95387 22.617 4.0156e-39 Model_Year_82 31.71 0.99896 31.743 5.2234e-51 Number of observations: 94, Error degrees of freedom: 91 Root Mean Squared Error: 5.56
모델에서 기준 레벨 선택하기
범주형 변수에서 범주 순서를 수정하여 기준 레벨을 선택할 수 있습니다. 먼저 범주형 변수 Year
를 만듭니다.
Year = categorical(Model_Year);
categories
함수를 사용하여 범주의 순서를 확인합니다.
categories(Year)
ans = 3x1 cell
{'70'}
{'76'}
{'82'}
Year
를 예측 변수로 사용할 경우 fitlm
은 첫 번째 범주 '70'
을 기준 레벨로 선택합니다. reordercats
함수를 사용하여 Year
를 다시 정렬합니다.
Year_reordered = reordercats(Year,{'76','70','82'}); categories(Year_reordered)
ans = 3x1 cell
{'76'}
{'70'}
{'82'}
Year_reordered
의 첫 번째 범주는 '76'
입니다. MPG
의 선형 회귀 모델을 Year_reordered
의 함수로 생성합니다.
mdl2 = fitlm(Year_reordered,MPG,'VarNames',{'Model_Year','MPG'})
mdl2 = Linear regression model: MPG ~ 1 + Model_Year Estimated Coefficients: Estimate SE tStat pValue ________ _______ _______ __________ (Intercept) 21.574 0.95387 22.617 4.0156e-39 Model_Year_70 -3.8839 1.4059 -2.7625 0.0069402 Model_Year_82 10.136 1.3812 7.3385 8.7634e-11 Number of observations: 94, Error degrees of freedom: 91 Root Mean Squared Error: 5.56 R-squared: 0.531, Adjusted R-Squared: 0.521 F-statistic vs. constant model: 51.6, p-value = 1.07e-15
mdl2
는 '76'
을 기준 레벨로 사용하고 두 개의 표시 변수 과 를 포함합니다.
범주형 예측 변수 평가하기
mdl2
의 모델 표시 화면은 대응되는 계수가 0인지 여부를 검정하기 위해 각 항의 p-값을 포함합니다. 각 p-값은 각 표시 변수를 조사합니다. 범주형 변수 Model_Year
를 표시 변수의 그룹으로 조사하려면 anova
를 사용하십시오. 모델의 상수항을 제외한 각 변수에 대해 분산분석 통계량을 포함하는 성분 분산분석표를 반환하도록 'components'
(디폴트 값) 옵션을 사용합니다.
anova(mdl2,'components')
ans=2×5 table
SumSq DF MeanSq F pValue
______ __ ______ _____ __________
Model_Year 3190.1 2 1595.1 51.56 1.0694e-15
Error 2815.2 91 30.936
성분 분산분석표는 표시 변수의 p-값보다 작은 Model_Year
변수의 p-값을 포함합니다.
로버스트 선형 회귀 모델 피팅하기
시멘트 조성물이 해당 시멘트의 경화 열에 미치는 영향을 측정하는 hald
데이터 세트를 불러옵니다.
load hald
이 데이터 세트는 변수 ingredients
와 heat
를 포함합니다. 행렬 ingredients
는 시멘트에 존재하는 네 가지 화학 성분의 조성 비율을 포함합니다. 벡터 heat
는 각 시멘트 표본에 대해 180일이 지난 후의 경화 열 값을 포함합니다.
데이터에 로버스트 선형 회귀 모델을 피팅합니다.
mdl = fitlm(ingredients,heat,'RobustOpts','on')
mdl = Linear regression model (robust fit): y ~ 1 + x1 + x2 + x3 + x4 Estimated Coefficients: Estimate 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 Number of observations: 13, Error degrees of freedom: 8 Root Mean Squared Error: 2.65 R-squared: 0.979, Adjusted R-Squared: 0.969 F-statistic vs. constant model: 94.6, p-value = 9.03e-07
자세한 내용은 로버스트 피팅의 결과와 표준 최소제곱 피팅의 결과를 비교하는 Reduce Outlier Effects Using Robust Regression 항목을 참조하십시오.
단계적 회귀를 사용하여 선형 모델 피팅하기
시멘트 조성물이 해당 시멘트의 경화 열에 미치는 영향을 측정하는 hald
데이터 세트를 불러옵니다.
load hald
이 데이터 세트는 변수 ingredients
와 heat
를 포함합니다. 행렬 ingredients
는 시멘트에 존재하는 네 가지 화학 성분의 조성 비율을 포함합니다. 벡터 heat
는 각 시멘트 표본에 대해 180일이 지난 후의 경화 열 값을 포함합니다.
데이터에 단계적 선형 회귀 모델을 피팅합니다. 모델에 항을 추가하는 기준에 해당하는 분계점으로 0.06을 지정합니다.
mdl = stepwiselm(ingredients,heat,'PEnter',0.06)
1. Adding x4, FStat = 22.7985, pValue = 0.000576232 2. Adding x1, FStat = 108.2239, pValue = 1.105281e-06 3. Adding x2, FStat = 5.0259, pValue = 0.051687 4. Removing x4, FStat = 1.8633, pValue = 0.2054
mdl = Linear regression model: y ~ 1 + x1 + x2 Estimated Coefficients: Estimate SE tStat pValue ________ ________ ______ __________ (Intercept) 52.577 2.2862 22.998 5.4566e-10 x1 1.4683 0.1213 12.105 2.6922e-07 x2 0.66225 0.045855 14.442 5.029e-08 Number of observations: 13, Error degrees of freedom: 10 Root Mean Squared Error: 2.41 R-squared: 0.979, Adjusted R-Squared: 0.974 F-statistic vs. constant model: 230, p-value = 4.41e-09
기본적으로, 시작 모델은 상수 모델입니다. stepwiselm
은 순방향 선택을 사용하며, 대응되는 p-값이 PEnter
값 0.06보다 작기 때문에 x4
, x1
, x2
항을 이 순서대로 추가합니다. stepwiselm
은 그런 다음 역방향 제거를 사용하며, x2
가 모델에 포함되면 x4
의 p-값이 PRemove
의 디폴트 값인 0.1보다 커지기 때문에 모델에서 x4
를 제거합니다.
세부 정보
항 행렬
항 행렬 T
는 모델의 항을 지정하는 t×(p + 1) 행렬입니다. 여기서 t는 항 개수이고, p는 예측 변수 개수이며, +1은 응답 변수에 해당합니다. T(i,j)
의 값은 항 i
에 포함된 변수 j
의 지수입니다.
예를 들어, 3개의 예측 변수 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으로 구성된 열 벡터는 응답 변수의 위치를 나타냅니다. 행렬과 열 벡터로 예측 변수와 응답 변수를 지정하는 경우 각 행의 마지막 열에 응답 변수를 나타내는 0
을 포함시켜야 합니다.
대체 기능
고차원 데이터 세트에 대한 계산 시간을 단축시키려면
fitrlinear
함수를 사용하여 선형 회귀 모델을 피팅하십시오.회귀를 정규화하려면
fitrlinear
,lasso
,ridge
또는plsregress
를 사용하십시오.fitrlinear
는 고차원 데이터 세트에 대한 회귀를 Lasso 또는 능형 회귀를 사용하여 정규화합니다.lasso
는 Lasso 또는 신축망을 사용하여 선형 회귀에서 중복된 예측 변수를 제거합니다.ridge
는 상관관계를 갖는 항이 있는 회귀를 능형 회귀를 사용하여 정규화합니다.plsregress
는 상관관계를 갖는 항이 있는 회귀를 부분 최소제곱을 사용하여 정규화합니다.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
자세한 내용은 Introduction to Code Generation 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
사용법 관련 참고 및 제한 사항:
LinearModel
모델의 객체 함수는 GPU 배열을 완전히 지원합니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2012a에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)