#2023.07.20 getwd() rm(list=ls()) setwd(‘c:/data’) library(dplyr) library(caret)

단순선형회귀분석

BM(건강한 자기 관리)

Happpiness(행복도)

건강한 자기 관리를 잘 할수록 행복도 증가하는가?

df<-read.csv(“Data1.csv”) glimpse(df) # 회귀분석은 등간척도 이상이어야 함 # 독립변수 범주형이라도 회귀분석이 가능하다.=더미변수수

bs.out2<-lm(Happiness~BM,data=df) summary(bs.out2)

adsp 시험문제 회귀분석 함수

건강한 자기 관리가 ‘1’ 증가할 경우 행복은 0.498 증가함을 의미한다.

Residual standard error: 잔차

오차항: 모집단을 알 수 없음, 실제 관측값-모회귀선의 차이(오차)이다

잔차항: 표본을 통해 표본회귀선을 만들고 그 때 관측값 차이를 잔차라고

잔차를 통해서 오차항의 가정조건 성립을 확인하게 된다. 잔차분석이라 한다.

Happiness=2.06+0.497*BM, 모델링이라 할 수 있음

library(car) sreg.res1<-residuals(bs.out2) durbinWatsonTest(sreg.res1)

오차는 독립성이라 판단한다.

잔차의 등분산성성

par(mfrow=c(2,2)) plot(bs.out2)

잔차의 등분산성을 입증하기 위해서는 산점도에서 예측값의

변화에 관계없이 잔차가 분포하는 모습이 일정하여야 한다.

정규성 검정(normality test)

Shapiro-wilk test(샤피로 윌크 검정)

Shapiro.test(sreg.res1) options(scipen=999) Shapiro.test(sreg.res1) options(scipen=-999)

귀무가설: 정규분포이다.

대립가설: 정규분포 아니다.

유의확률(p-value)<유의수준(0.05) 귀무가설 기각합니다.

정규분포가 아니다.

Happiness 정규성 검정을 한다.

options(scipen=999) Shapiro.test(sreg.res1) options(scipen=-999) # 위의 잔차분석 결과 등분산성과 정규성을 만족하지 못함 # 정규성을 만족하지 못하는 경우 박스콕스 변수 변환을 적용할 수 있다.

다중선형회귀분석

다중선형 회귀모형에서는 두개 이상의 독립변수가 주어졌다는 가정에서

종속변수에 대한 분포를 가정하고 있다.

이는 독립변수들은 서로 독립적이야 한다는 것을 의미한다.

다중공선성 vif 함수를 통해 확인해야 한다.

bs.out3<-lm(Happiness~BM+BF, data=df) summary(bs.out3)

library(car) vif(bs.out3) # vif 값이 모두 9보다 작으므로 두 변수는 서로 독립적이라 할 수 있다.

더빈 왓슨(Durbin Watson)검정

더빈 왓슨 통계량은 0~4 사이의 값을 갖을 수 있음

0에 가까울수록 -> 양의 상관관계

4에 가까울수록 -> 음의 상관관계

2에 가까울수록 -> 오차항의 자기상관이 없음

library(caret) idx<-createDataPartition(df$Happiness, p=0.8, list=FALSE) train<-df[idx,] test<-df[-idx,] library(dplyr) glimpse(train)

linear regrssion mode1

fit<-lm(Happiness~BM+BF+Peace,data=train) summary(fit)

Happiness=0.51388+0.20878BM+0.24636BF+0.45747*Peace

predict(fit,newdata=test) lm_p<-predict(fit,newdata=test) round(predict(fit,newdata=test),1)

test$Happiness1<-round(predict(fit,newdata=test),1) Veiw(test)