
단순선형회귀 : 다른 두 변수의 사이의 관계에 대한 모델 제공. x가 증가(혹은 감소)할 때 y가 증가(혹은 감소)하는 등의 상관관계를 나타내는데 쓰임.
| 응답변수 | 독립변수 | 절편 | 회귀계수 | 적합값 | 잔차 | 최소제곱 |
| 예측하고자 하는 변수, 종속변수라고도 함 | 응답치를 예측하기 위해 사용하는 변수, 예측변수하고도 함 | 회귀직선 상의 절편, x=0일 때의 예측값 | 회귀직선의 기울기 | 히귀선에서 얻은 추정값. 예측값이라고도 함 | 관측값과 척합값의 차이 | 잔차의 제곱합을 최소화한 귀 회귀를 피팅하는 방법 |
# 기존 패키지 설정 및 불러오기
library(MASS)
library(dplyr)
library(tidyr)
library(ggplot2)
library(lubridate)
# install.packages("lubridate")
library(splines)
library(mgcv)
# 작업경로 설정
PSDS_PATH <- file.path(dirname(dirname(getwd())))
lung <- read.csv(file.path(PSDS_PATH, 'Desktop/data', 'LungDisease.csv'))
house <- read.csv(file.path(PSDS_PATH, 'Desktop/data', 'house_sales.csv'), sep='\t')
# 선형 시각화
# 예측변수 Exposure에 대한 함수인 응답변수 PEFR을 예측하기 위한 직선 출력
plot(lung$Exposure, lung$PEFR, xlab="Exposure", ylab="PEFR")
model <- lm(PEFR ~ Exposure, data=lung)
plot(lung$Exposure, lung$PEFR, xlab="Exposure", ylab="PEFR", ylim=c(300,450), type="n", xaxs="i")
abline(a=model$coefficients[1], b=model$coefficients[2], col="blue", lwd=2)
text(x=.3, y=model$coefficients[1], labels=expression("b"[0]), adj=0, cex=1.5)
x <- c(7.5, 17.5)
y <- predict(model, newdata=data.frame(Exposure=x))
segments(x[1], y[2], x[2], y[2] , col="red", lwd=2, lty=2)
segments(x[1], y[1], x[1], y[2] , col="red", lwd=2, lty=2)
text(x[1], mean(y), labels=expression(Delta~Y), pos=2, cex=1.5)
text(mean(x), y[2], labels=expression(Delta~X), pos=1, cex=1.5)
text(mean(x), 400, labels=expression(b[1] == frac(Delta ~ Y, Delta ~ X)), cex=1.5)
# 적합값과 잔차 출력 in R, using fitted, resid func
fitted <- predict(model) # 적합값
resid <- residuals(model) # 잔차
lung1 <- lung %>%
mutate(Fitted=fitted,
positive = PEFR>Fitted) %>%
group_by(Exposure, positive) %>%
summarize(PEFR_max = max(PEFR),
PEFR_min = min(PEFR),
Fitted = first(Fitted),
.groups='keep') %>%
ungroup() %>%
mutate(PEFR = ifelse(positive, PEFR_max, PEFR_min)) %>%
arrange(Exposure)
# 적핪값과 잔차 시각화
plot(lung$Exposure, lung$PEFR, xlab="Exposure", ylab="PEFR")
abline(a=model$coefficients[1], b=model$coefficients[2], col="blue", lwd=2)
segments(lung1$Exposure, lung1$PEFR, lung1$Exposure, lung1$Fitted, col="orange", lty=3)


'통계데이터과학과 및 컴퓨터과학 독서' 카테고리의 다른 글
| 4-5~5-1. 회귀와 예측, 분류 (0) | 2025.04.28 |
|---|---|
| 4-3. 회귀와 예측 (0) | 2025.04.21 |
| 03. 유의성 검정과 귀무/대립가설 증명 (0) | 2025.03.31 |
| 01-2.탐색적 분석 (0) | 2025.03.17 |
| 01-1. 탐색적 분석 (0) | 2025.03.16 |