caret::featurePlot(x:연속형, y:요인, plot='strip,scatter,box,density')
: 하나는 이산형 하나는 연속형일 때 사용
featurePlot(x=DF1 %>% select_if(is.numeric), y=DF1$gnd,
plot='box',
scales=list(x=list(relation='free'), y=list(relation='free'))) : x축 조건 is.numeric, y축 변수에는 성별, 그림의 형태는 상자, free는 뭔가 하면 내가 갖고 있는 y축의 범위를 자유롭게 풀어주라는 소리, 축이 통일이 안 되고 자유롭게 되어 있지 이 말이다
탐색 끝남
이제 모델 돌리기
M <- lm
summary(M)
predict(M)
y ~ 체중(연속형) + 나이(연속형)
예측식을 쓸 줄 알아야 함
예측식 : Estimate -> yhat = 143 + 0.56wt - 0.11age -> 1kg증가할 때 마다 0.56증가, 나이가 1살씩 많아질 때마다 키가 0.11감소
회귀분석은 과정이 여러 개 있음
fitted values = yhat
residuals = y - yhat
정규확률그림(Normal Q-Q) : 이 데이터는 정규분포하는 것 같냐. 잘 안함. 왜? 41, 53번 때문에. 이 두사람을 빼면 괜찮아짐.
딥러닝할 때는 정규분포하는지는 안 물어봄. 내 데이터에 대한 설명이 필요할 때 사용
루트(표준화 잔차) (Scale-Location) -> 등분산 : 그림의 등분산이 수평으로 나오면 등분산임. 수평아니므로 이분산과 가까움
x자료의 중심에서의 거리(Leverage)
쿡의 거리(Cook's distance) : 0.5, 1
영향점: 위험한 점, 모형에 지대한 영향을 끼치는 점
yh0 = predict(M, DF1)
res0 = ht-yh0
잔차평균 내봤자 소용없다. 절대잔차의 합을 구하거나 제곱해서 더하거나 해야 함
met <- function(y, yhat)
{
data.frame(mse=mean(y-yhat)^2, na.rm=TRUE), mae=mean(abs(y-yhat), na.rm=TRUE))
}
평균 사람키 맞추는데 3cm틀리면 잘 맞추는 건가? 그렇다
결론은 괜찮은 모형이라고 친다. 3cm 밖에 안 틀리니까
yhat
= 154 + 0.29wt
- 0.08age
+ 7.9dM
+ 0.55bdAB
+ 0.02bdB
- 1.23bdO
03.30
오차는 독립성 : 서로 독립적이다. 연결되지 않는다.
오차는 등분산, 정규분포
오차는 관측이 안됨. 잔차가 관측됨
잔차는 0을 기준으로
2,3,4번 그림은 잔차들을 보고 회귀분석에 잘 맞는지 안 맞는지 보는 것
내 잔차는 직선으로 설명이 안된다???
2번그림은 선형성이 깨진것
3번은 어떤 변수에 대해 잔차가 이렇~~게 된 것. 이 쪽 변수가 뭔질 모르지만 잔차가 점점 커지네. 등분산 위배 -> 해결해야 함
비표준화 잔차 : y - yhat
회귀분석 들은 사람은 알겠지만 표준화잔차는 종류가 많음
표준화 잔차 : 평균이 0 분산이1
잔차가 큰 사람들이 주로 찾아와 항의한다.
아웃라이어(이상치) : 데이터가 벗어난 것 -> 반드시 나쁜 것은 아님
영향점 : 내 거에 영향을 미침 -> 안 좋은 것, 정말 잘 맞출 수 있었는데 한 사람 때문에 기울기가 확 바뀜 -> 아웃라이어이자 영향점
레버리지 :
🚨🚨🚨시험문제 : IC는 작을수록 무조건 좋다!!