rm(list = ls())

# 교통대 다중 회귀분석 1번문제
# 데이터 확인
data(mtcars)

# 다중 선형회귀모형 적합
model1 <- lm(mpg ~ wt + hp + drat, data = mtcars)

# 회귀 결과 요약
summary(model1)
## 
## Call:
## lm(formula = mpg ~ wt + hp + drat, data = mtcars)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.3598 -1.8374 -0.5099  0.9681  5.7078 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 29.394934   6.156303   4.775 5.13e-05 ***
## wt          -3.227954   0.796398  -4.053 0.000364 ***
## hp          -0.032230   0.008925  -3.611 0.001178 ** 
## drat         1.615049   1.226983   1.316 0.198755    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.561 on 28 degrees of freedom
## Multiple R-squared:  0.8369, Adjusted R-squared:  0.8194 
## F-statistic: 47.88 on 3 and 28 DF,  p-value: 3.768e-11
# 질문1번
# 귀무가설 : 회귀계수는 0이다.
# 대립가설 : 회귀계수는 0이 아니다.
# p-value wt : 0.000364, hp : 0.001178, drat : 0.198755
# 알파=유의수준 = 0.01
# 따라서 wt, hp는 귀무가설 기각, 통계적으로 유의한 변수라고 한다.
# drat > 유의수준=0.01보다 크므로 귀무가설 채택, 통계적으로 유의할 수 없다.

# 질문2번
# 결정계수는 0과 1사이에서 있고 1에 가까울수록(0.7이상) 모형의 적합도가 좋음
# 결정계수가 0.84이므로 이 모형은 데이터를 잘 설명한다고 할 수 있다.

# 질문3번
# 귀무가설 : 모든 독립변수의 회귀계수가 0이다.
# 대립가설 : 적어도 하나의 독립변수 회귀계수가 0이 아니다.
# F-statistic: 47.88 > 유의확률 = 0.001이므로 귀무가설 기각,
# 통계적으로 유의하다.
# 즉, 적어도 하나의 독립변수의 회귀계수는 0이 아니다.





# 교통대 다중 회귀분석 2번문제
# 데이터 확인
data(iris)

# 다중 선형회귀모형 적합
model2 <- lm(Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width,
            data = iris)

# 회귀 결과 요약
summary(model2)
## 
## Call:
## lm(formula = Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width, 
##     data = iris)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.82816 -0.21989  0.01875  0.19709  0.84570 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   1.85600    0.25078   7.401 9.85e-12 ***
## Sepal.Width   0.65084    0.06665   9.765  < 2e-16 ***
## Petal.Length  0.70913    0.05672  12.502  < 2e-16 ***
## Petal.Width  -0.55648    0.12755  -4.363 2.41e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3145 on 146 degrees of freedom
## Multiple R-squared:  0.8586, Adjusted R-squared:  0.8557 
## F-statistic: 295.5 on 3 and 146 DF,  p-value: < 2.2e-16
# 질문1
# Sepal.Width = 2e-16, Petal.Width = 2.41e-05 은 p-value = 0.001보다 
# 작으므로 아래의 가설에서 귀무가설을 기각한다, 
# 통계적으로 유의하다고 할 수 있다.
# 귀무가설 : 회귀계수는 0이다.
# 대립가설 : 회귀계수는 0이 아니다.

# 질문2번
# 결정계수는 0과 1사이에서 있고 1에 가까울수록(0.7이상) 모형의 적합도가 좋음
# 결정계수가 0.76이므로 이 모형은데이터를 잘 설명한다고 할 수 있다.

# 질문3번 - 다시 알아보기
# 종속변수에 영향을 주는 설명변수가 존재한다는 것을 의미

# 교통대 다중 회귀분석 3번문제
# 결측치 제거
data(airquality)
airquality_clean <- na.omit(airquality)

# 다중 선형회귀모형 적합
model3 <- lm(Ozone ~ Solar.R + Wind + Temp, data = airquality_clean)

# 회귀 결과 요약
summary(model3)
## 
## Call:
## lm(formula = Ozone ~ Solar.R + Wind + Temp, data = airquality_clean)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -40.485 -14.219  -3.551  10.097  95.619 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -64.34208   23.05472  -2.791  0.00623 ** 
## Solar.R       0.05982    0.02319   2.580  0.01124 *  
## Wind         -3.33359    0.65441  -5.094 1.52e-06 ***
## Temp          1.65209    0.25353   6.516 2.42e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 21.18 on 107 degrees of freedom
## Multiple R-squared:  0.6059, Adjusted R-squared:  0.5948 
## F-statistic: 54.83 on 3 and 107 DF,  p-value: < 2.2e-16
# 질문1번
# 반비례관계라고 할 수 있다. 바람이 세게 불수록 오존이 낮아짐

# 질문2번
# 결정계수는 0과 1사이에서 있고 1에 가까울수록(0.7이상) 모형의 적합도가 좋음
# 결정계수가 0.60이므로 이 모형은 데이터를 잘 설명한다고 할 수 있지는 않지만
# 1에 더 가까우므로 데이터를 설명할 수 있을 수 있다.

# 질문3번
# 적어도 하나의 독립변수의 회귀계수가 0이 아닐 수 있다.