Main Content

CompactLinearModel

간소 선형 회귀 모델

설명

CompactLinearModel은 전체 선형 회귀 모델 객체 LinearModel의 간소한 버전입니다. 간소 모델은 모델을 피팅하는 데 사용되는 입력 데이터나 피팅 과정과 관련된 정보를 저장하지 않기 때문에 CompactLinearModel 객체는 LinearModel 객체보다 메모리를 적게 사용합니다. 간소 모델에서도 여전히 새 입력 데이터를 사용해서 응답 변수를 예측할 수 있지만 일부 LinearModel 객체 함수는 간소 모델에서 작동하지 않습니다.

생성

훈련된 전체 모델 LinearModelcompact를 사용하여 CompactLinearModel 모델을 만듭니다.

속성

모두 확장

계수 추정값

읽기 전용 속성입니다.

계수 추정값으로 구성된 공분산 행렬로, 숫자형 값으로 구성된 p×p 행렬로 지정됩니다. p는 NumCoefficients로 주어진 피팅된 모델에 포함된 계수의 개수입니다.

자세한 내용은 계수 표준 오차 및 신뢰구간 항목을 참조하십시오.

데이터형: single | double

읽기 전용 속성입니다.

계수 이름으로, 각각 대응되는 항의 이름을 포함하는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

데이터형: cell

읽기 전용 속성입니다.

계수 값으로, 테이블로 지정됩니다. Coefficients는 각 계수에 대해 하나의 행과 다음과 같은 열을 포함합니다.

  • Estimate — 추정된 계수 값

  • SE — 추정값의 표준 오차

  • tStat — 계수가 0인지를 확인하는 귀무가설을 사용하는 양측 검정에 대한 t-통계량

  • pValue — t-통계량에 대한 p-값

계수에 대해 다른 검정을 수행하려면 anova(선형 회귀 모델만 해당) 또는 coefTest를 사용하십시오. 계수 추정값의 신뢰구간을 구하려면 coefCI를 사용하십시오.

이러한 열 중 하나를 벡터로 얻으려면 점 표기법을 사용하여 속성의 요소를 참조하십시오. 예를 들어, 다음과 같이 모델 mdl에서 추정된 계수 벡터를 얻습니다.

beta = mdl.Coefficients.Estimate

데이터형: table

읽기 전용 속성입니다.

모델 계수의 개수로, 양의 정수로 지정됩니다. NumCoefficients는 모델 항이 랭크 부족인 경우 0으로 설정되는 계수를 포함합니다.

데이터형: double

읽기 전용 속성입니다.

모델에서 추정된 계수의 개수로, 양의 정수로 지정됩니다. NumEstimatedCoefficients는 모델 항이 랭크 부족인 경우 0으로 설정되는 계수를 포함하지 않습니다. NumEstimatedCoefficients는 회귀에 대한 자유도입니다.

데이터형: double

요약 통계량

읽기 전용 속성입니다.

오차(잔차)에 대한 자유도로, 관측값 개수에서 추정된 계수 개수를 뺀 값과 같으며, 양의 정수로 지정됩니다.

데이터형: double

읽기 전용 속성입니다.

응답 변수 값의 로그 가능도로, 각 응답 변수 값이 정규분포를 따른다는 가정에 기반하여 숫자형 값으로 지정됩니다. 정규분포의 평균은 피팅된(예측된) 응답 변수 값이고, 분산은 MSE입니다.

데이터형: single | double

읽기 전용 속성입니다.

모델 비교 기준으로, 다음 필드를 가진 구조체로 지정됩니다.

  • 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

읽기 전용 속성입니다.

평균 제곱 오차(잔차)로, 숫자형 값으로 지정됩니다.

MSE = SSE / DFE,

여기서 MSE는 평균 제곱 오차이고, SSE는 제곱 오차의 합이며, DFE는 자유도입니다.

데이터형: single | double

읽기 전용 속성입니다.

평균 제곱 오차(잔차)의 제곱근으로, 숫자형 값으로 지정됩니다.

RMSE = sqrt(MSE),

여기서 RMSE는 평균 제곱 오차의 제곱근이고 MSE는 평균 제곱 오차입니다.

데이터형: single | double

읽기 전용 속성입니다.

모델에 대한 결정계수 값으로, 다음 두 필드를 가지는 구조체로 지정됩니다.

  • Ordinary — 일반(수정되지 않은) 결정계수

  • Adjusted — 계수 개수에 대해 수정된 결정계수

결정계수 값은 모델로 설명되는 총 제곱합의 비율입니다. 일반 결정계수 값은 SSR 속성 및 SST 속성과 관련이 있습니다.

Rsquared = SSR/SST,

여기서 SST는 총 제곱합이고, SSR은 회귀 제곱합입니다.

자세한 내용은 결정계수(R 제곱) 항목을 참조하십시오.

이러한 값 중 하나를 스칼라로 얻으려면 점 표기법을 사용하여 속성을 참조하십시오. 예를 들어, 다음과 같이 모델 mdl에서 수정된 결정계수 값을 구합니다.

r2 = mdl.Rsquared.Adjusted

데이터형: struct

읽기 전용 속성입니다.

제곱 오차(잔차)의 합으로, 숫자형 값으로 지정됩니다. 모델이 관측값 가중치로 훈련된 경우, SSE 계산에서 제곱합은 가중치를 적용한 제곱합입니다.

절편을 포함하는 선형 모델의 경우, 피타고라스 정리는 다음을 의미합니다.

SST = SSE + SSR,

여기서 SST는 총 제곱합이고, SSE는 제곱 오차의 합이고, SSR은 회귀 제곱합입니다.

로버스트 선형 모델의 SST 계산에 대한 자세한 내용은 SST 항목을 참조하십시오.

데이터형: single | double

읽기 전용 속성입니다.

회귀 제곱합으로, 숫자형 값으로 지정됩니다. SSR은 피팅된 값과 응답 변수의 평균 간 제곱 편차의 합과 같습니다. 모델이 관측값 가중치로 훈련된 경우, SSR 계산에서 제곱합은 가중치를 적용한 제곱합입니다.

절편을 포함하는 선형 모델의 경우, 피타고라스 정리는 다음을 의미합니다.

SST = SSE + SSR,

여기서 SST는 총 제곱합이고, SSE는 제곱 오차의 합이고, SSR은 회귀 제곱합입니다.

로버스트 선형 모델의 SST 계산에 대한 자세한 내용은 SST 항목을 참조하십시오.

데이터형: single | double

읽기 전용 속성입니다.

총 제곱합으로, 숫자형 값으로 지정됩니다. SSTmean(y)와 응답 변수 벡터 y 간의 편차에 대한 제곱합과 같습니다. 모델이 관측값 가중치로 훈련된 경우, SST 계산에서 제곱합은 가중치를 적용한 제곱합입니다.

절편을 포함하는 선형 모델의 경우, 피타고라스 정리는 다음을 의미합니다.

SST = SSE + SSR,

여기서 SST는 총 제곱합이고, SSE는 제곱 오차의 합이고, SSR은 회귀 제곱합입니다.

로버스트 선형 모델의 경우, SSTmean(y)와 응답 변수 벡터 y 간의 편차에 대한 제곱합으로 계산되지 않습니다. 이 속성은 SST = SSE + SSR로 계산됩니다.

데이터형: single | double

피팅 방법

읽기 전용 속성입니다.

로버스트 피팅 정보로, 다음 표에 설명된 필드를 가지는 구조체로 지정됩니다.

필드설명
WgtFun로버스트 가중치 함수. 'bisquare'를 예로 들 수 있습니다('RobustOpts' 참조).
Tune조율 상수. WgtFun'ols'이거나 WgtFun이 디폴트 조율 상수가 1인 사용자 지정 가중치 함수에 대한 함수 핸들인 경우 이 필드는 비어 있습니다([]).
Weights로버스트 피팅의 최종 반복에 사용되는 가중치로 구성된 벡터. CompactLinearModel 객체의 경우 이 필드는 비어 있습니다.

로버스트 회귀를 사용하여 모델을 생성하지 않으면 이 구조체는 비어 있습니다.

데이터형: struct

입력 데이터

읽기 전용 속성입니다.

모델 정보로, LinearFormula 객체로 지정됩니다.

다음과 같이 점 표기법을 사용하여 피팅된 모델 mdl의 수식을 표시합니다.

mdl.Formula

읽기 전용 속성입니다.

피팅 함수가 피팅에 사용하는 관측값 개수로, 양의 정수로 지정됩니다. NumObservations는 원래 테이블, 데이터셋 또는 행렬에 제공된 관측값 개수에서 제외된 행('Exclude' 이름-값 쌍의 인수로 설정됨) 또는 누락값이 있는 행을 뺀 값입니다.

데이터형: double

읽기 전용 속성입니다.

모델을 피팅하는 데 사용되는 예측 변수의 개수로, 양의 정수로 지정됩니다.

데이터형: double

읽기 전용 속성입니다.

입력 데이터에 포함되는 변수의 개수로, 양의 정수로 지정됩니다. NumVariables는 원래 테이블 또는 데이터셋에 포함된 변수의 개수이거나 예측 변수 행렬 및 응답 변수 벡터에 포함된 열의 총 개수입니다.

NumVariables는 예측 변수 또는 응답 변수로 모델을 피팅하는 데 사용되지 않은 변수도 포함합니다.

데이터형: double

읽기 전용 속성입니다.

모델을 피팅하는 데 사용되는 예측 변수의 이름으로, 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

데이터형: cell

읽기 전용 속성입니다.

응답 변수 이름으로, 문자형 벡터로 지정됩니다.

데이터형: char

읽기 전용 속성입니다.

Variables에 포함된 변수에 대한 정보로, 각 변수에 대해 하나의 행과 다음 표에 설명된 열을 갖는 테이블로 지정됩니다.

설명
Class변수 클래스로, 문자형 벡터로 구성된 셀형 배열로 지정됩니다(예: 'double''categorical').
Range

변수 범위로, 벡터로 구성된 셀형 배열로 지정됩니다.

  • 연속형 변수 — 최솟값과 최댓값으로 구성된, 요소를 2개 가진 벡터 [min,max]

  • 범주형 변수 — 고유한 변수 값으로 구성된 벡터

InModel피팅된 모델에 어느 변수가 포함되었는지에 대한 표시자로, 논리형 벡터로 지정됩니다. 모델이 변수를 포함하는 경우 값은 true입니다.
IsCategorical범주형 변수에 대한 표시자로, 논리형 벡터로 지정됩니다. 변수가 범주형인 경우 값은 true입니다.

VariableInfo는 예측 변수 또는 응답 변수로 모델을 피팅하는 데 사용되지 않은 변수도 포함합니다.

데이터형: table

읽기 전용 속성입니다.

변수의 이름으로, 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

  • 피팅이 테이블 또는 데이터셋을 기반으로 하는 경우 이 속성은 해당 테이블 또는 데이터셋의 변수의 이름을 제공합니다.

  • 피팅이 예측 변수 행렬과 응답 변수 벡터를 기반으로 하는 경우 VariableNames는 피팅 방법의 'VarNames' 이름-값 쌍의 인수로 지정된 값을 포함합니다. 'VarNames'의 디폴트 값은 {'x1','x2',...,'xn','y'}입니다.

VariableNames는 예측 변수 또는 응답 변수로 모델을 피팅하는 데 사용되지 않은 변수도 포함합니다.

데이터형: cell

객체 함수

모두 확장

fevalPredict responses of linear regression model using one input for each predictor
predict선형 회귀 모델의 응답 변수 예측
random선형 회귀 모델에 대해 랜덤 잡음이 있는 응답 변수 시뮬레이션
anovaAnalysis of variance for linear regression model
coefCIConfidence intervals of coefficient estimates of linear regression model
coefTestLinear hypothesis test on linear regression model coefficients
partialDependenceCompute partial dependence
plotEffectsPlot main effects of predictors in linear regression model
plotInteractionPlot interaction effects of two predictors in linear regression model
plotPartialDependenceCreate partial dependence plot (PDP) and individual conditional expectation (ICE) plots
plotSlicePlot of slices through fitted linear regression surface
gatherGather properties of Statistics and Machine Learning Toolbox object from GPU

예제

모두 축소

선형 회귀 모델을 데이터에 피팅한 다음, 표본 데이터 및 피팅 과정과 관련된 일부 정보를 버려서 피팅된 전체 선형 회귀 모델의 크기를 줄입니다.

15,000개의 관측값과 45개의 예측 변수가 포함된 largedata4reg 데이터 세트를 불러옵니다.

load largedata4reg

데이터에 선형 회귀 모델을 피팅합니다.

mdl = fitlm(X,Y);

모델을 간소화합니다.

compactMdl = compact(mdl);

간소 모델은 원본 표본 데이터 및 피팅 과정과 관련된 일부 정보를 버립니다.

전체 모델 mdl과 간소 모델 compactMdl의 크기를 비교합니다.

vars = whos('compactMdl','mdl');
[vars(1).bytes,vars(2).bytes]
ans = 1×2

       81538    11409065

간소 모델이 전체 모델보다 메모리를 적게 사용합니다.

확장 기능

버전 내역

R2016a에 개발됨

참고 항목

| | |

도움말 항목