[DataMining] 회귀분석

Zoe·2022년 3월 23일
0

DataMining

목록 보기
2/3

회귀분석


  • 연속형 : 회귀분석 -> 지도학습
  • 회귀모형에는 많은 알고리즘이 있음
  • 제일 오래된 알고리즘 ??
  • 연속형 : y = f(x1 ... xp) + 오차
  • y는 내 개인정보의 함수이긴 한데 완전히 맞추진 못하고 오차가 존재
  • 직선은 직선과 기울기 밖에 없음
  • 연속형 : y = B0 + B1x1 + B2x2 + ... + Bpxp + 오차 -> 선형회귀분석
  • 내 데이터를 가장 잘 설명하는 직선을 찾아야함

✅ 중선형 회귀분석

1️⃣ 중회귀모형

  • 단순선형회귀분석 계산 예제 : x=체중 y=키 -> 점 5개 찍어서 직선 긋기
  • 직선을 잘 긋는 방법 : 실제점하고 사이의 거리, 이 거리가 작으면 작을 수록 좋음
  • 이 거리가 5개 생김. 전체적으로 잘 맞춰야하니까 거리들을 5개 동시에 줄여야함
  • 에러1,에러2,에러3,에러4,에러5
  • 내 오차에서 절대값을 붙여서 작게한다
  • min 시그마|Error(i)|
  • 최소제곱추정법(Least Square) : min 시그마 Error(i) ^2 (오차의 제곱의 합을 최소화하는 직선을 찾는다)
  • 최소제곱추정법을 따라서 직선을 찾으면 됨
  • 모형식
  • 그럼 이걸 누가 찾아주냐 컴퓨터가 찾아줌
  • 공식 : B = b = (X^TX)^-1X^Ty
  • 최대 가능도법 : 수리통계학시간에 나오는 가능도? 이게 뭐임 가능도 함수를 최대화시키는 직선을 찾는다
  • 직선일 때는 최소제곱법이랑 최대 가능도법이랑 같음
  • 점점 어렵네..
  • 머신러닝에 가면 최대 가능도법을 log loss라고 부름
  • 컴퓨터가 뭘 찾아주냐 이 직선을
  • 모든 통계패키지는 다 찾을 수 있거든
  • 모형식 : y = B0 + B1x + Error
  • 이름 잘 봐둔다. 절편(상수)이 필요하지.
  • 단순선형회귀 분석 예측식(predidted) : y(hat) = 2(절편) + 1(기울기)(x) -> 나의 예측값은 이 직선 위에 있음
  • 직선위에 있는 점들..
  • y - y(hat) = 잔차
  • lm : linear model
  • M <- lm(모형식:y~z, 데이터셋:data=DF) : 결과가 모형임
  • summary(M)
  • yh(y hat) <- predict(M, newdata= (예측을 할 데이터셋) )
  • DF <- DF %>% mutate(yh=predict(M, newdata=DF), res=y-yh)
  • res : 잔차
  • 잔차의 합은 계산해봤자 소용이 없다.
  • 내가 만든 모형에서의 잔차의 합은 항상 0
  • 제곱하거나 절대값을 붙이기
  • MSE(Mean Squared Error) 평균제곱오차 = 1/n n(시그마)i=1 (yi - yi(hat))^2
  • MAE(Mean Absolute Error) 평균절대오차 = 1/n n(시그마)i=1 |yi - yi(hat)| -> 작을 수록 좋음
  • 잔차의 합이 0이기 때문에 잔차의 평균은 0
  • MSE = ASE -> 그냥 1/n으로 한다
  • 활용한다는 게 뭐냐하면 모형이 들어오면 이걸로 예측하겠다는 말임
  • 스코어링 : 내가 기존에 만든 것을 가지고 새로운 사람들의 점수를 매기는 것
  • SC <- data.frame(x=c(1.5,2.5,3.5)) : 변수는 x 하나. 개인정보만 줬다
  • 내가 아는 가장 유명한 회귀분석 : () -5+1/2*엄마키 + 1/2*아빠키 / (아들) +5 +1/2*엄마키 + 1/2*아빠키 : 간단한 문제에 연속형 이산형이 다 들어가있음
  • Machine Learning 의 기본 목적 : 예측
  • 통계학의 기본 목적 : 설명

2️⃣ 그림

  • predict(M, DF) : 내 예측값이 150이면 실제값도 150이면 좋음. 45도 직선에 점들이 막 붙으면 좋은 것. yhat과 y의 산점도
  • -1 < 상관계수 < 1 / 0 < (상관계수)^2 < 1
  • 상관계수가 높아야 좋음
  • 1에 가까울 수록 좋음
  • 결점계수 : 0 < R^2 < 1
  • msemae는 값이 작을 수록 좋고, r2=cor(DF$y, DF$yh)^2 는 값이 클 수록 좋음
profile
iOS 개발자😺

0개의 댓글