CompactLinearModel
간소 선형 회귀 모델
설명
CompactLinearModel
은 전체 선형 회귀 모델 객체 LinearModel
의 간소한 버전입니다. 간소 모델은 모델을 피팅하는 데 사용되는 입력 데이터나 피팅 과정과 관련된 정보를 저장하지 않기 때문에 CompactLinearModel
객체는 LinearModel
객체보다 메모리를 적게 사용합니다. 간소 모델에서도 여전히 새 입력 데이터를 사용해서 응답 변수를 예측할 수 있지만 일부 LinearModel
객체 함수는 간소 모델에서 작동하지 않습니다.
생성
훈련된 전체 모델 LinearModel
에 compact
를 사용하여 CompactLinearModel
모델을 만듭니다.
속성
계수 추정값
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
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
MSE
— 평균제곱오차
숫자형 값
읽기 전용 속성입니다.
평균제곱오차(잔차)로, 숫자형 값으로 지정됩니다.
MSE = SSE / DFE,
여기서 MSE는 평균제곱오차이고, SSE는 오차제곱합이며, DFE는 자유도입니다.
데이터형: single
| double
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
입력 데이터
Formula
— 모델 정보
LinearFormula
객체
읽기 전용 속성입니다.
모델 정보로, LinearFormula
객체로 지정됩니다.
다음과 같이 점 표기법을 사용하여 피팅된 모델 mdl
의 수식을 표시합니다.
mdl.Formula
NumObservations
— 관측값 개수
양의 정수
읽기 전용 속성입니다.
피팅 함수가 피팅에 사용하는 관측값 개수로, 양의 정수로 지정됩니다. NumObservations
는 원래 테이블, 데이터셋 또는 행렬에 제공된 관측값 개수에서 제외된 행('Exclude'
이름-값 쌍의 인수로 설정됨) 또는 누락값이 있는 행을 뺀 값입니다.
데이터형: double
NumPredictors
— 예측 변수의 개수
양의 정수
읽기 전용 속성입니다.
모델을 피팅하는 데 사용되는 예측 변수의 개수로, 양의 정수로 지정됩니다.
데이터형: double
NumVariables
— 변수의 개수
양의 정수
읽기 전용 속성입니다.
입력 데이터에 포함되는 변수의 개수로, 양의 정수로 지정됩니다. NumVariables
는 원래 테이블 또는 데이터셋에 포함된 변수의 개수이거나 예측 변수 행렬 및 응답 변수 벡터에 포함된 열의 총 개수입니다.
NumVariables
는 예측 변수 또는 응답 변수로 모델을 피팅하는 데 사용되지 않은 변수도 포함합니다.
데이터형: double
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
객체 함수
응답 변수 예측하기
선형 모델 평가
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 |
partialDependence | Compute partial dependence |
선형 모델 시각화하기
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 |
plotSlice | Plot of slices through fitted linear regression surface |
선형 모델의 속성 수집하기
gather | Gather 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
간소 모델이 전체 모델보다 메모리를 적게 사용합니다.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
자세한 내용은 Introduction to Code Generation 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
사용법 관련 참고 및 제한 사항:
CompactLinearModel
모델의 객체 함수는 GPU 배열을 완전히 지원합니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2016a에 개발됨
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)