windmill <- read.csv("windmill.csv")
windmill <- windmill[, c(1:3)]
names(windmill) <- c("i", "xi", "yi")
lm(yi~xi, data=windmill)
##
## Call:
## lm(formula = yi ~ xi, data = windmill)
##
## Coefficients:
## (Intercept) xi
## 0.1309 0.2411
# > sum(windmill$xi)
# [1] 153.3
# > sum(windmill$yi)
# [1] 40.24
# > sum(windmill$xi^2)
# [1] 1093.59
# > sum(windmill$yi^2)
# [1] 74.98149
# > sum(windmill$yi*windmill$xi)
# [1] 283.7812
# > length(windmill$xi)
=> \(\beta_1=0.1309 \ \ \beta_2=0.2411\)
step 2 : \(\hat\gamma\) 추정
x <- windmill$xi
windmill$w <- x*log(x=x) # xlnx
lm(yi~xi+w, data=windmill)
##
## Call:
## lm(formula = yi ~ xi + w, data = windmill)
##
## Coefficients:
## (Intercept) xi w
## -2.4168 1.5344 -0.4626
==> \(\hat\gamma=-0.4626\)
step 3 : \(\alpha\) 구함
windmill$xii <- windmill$xi^-0.92
lm(yi~xii, data=windmill)
##
## Call:
## lm(formula = yi ~ xii, data = windmill)
##
## Coefficients:
## (Intercept) xii
## 3.101 -6.683
\(\hat{y}=\hat{\beta_0}+{\hat{\beta_1}x'=3.1039-6.6784x'}\)
3번 반복으로 \(\alpha=-0,83\) 얻음
library(car)
## Loading required package: carData
boxTidwell(yi ~ xi, data = windmill)
## MLE of lambda Score Statistic (z) Pr(>|z|)
## -0.83334 -9.1324 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## iterations = 3
windmill$xiii <- windmill$xi^-0.83
par(mfrow=c(2,2))
plot(windmill$xi, windmill$yi)
plot(windmill$xii, windmill$yi)
plot(windmill$xiii, windmill$yi)
fit1 <- lm(yi~xi, data=windmill)
par(mfrow=c(2,2))
plot(fit1)
fit2 <- lm(yi~xii, data=windmill)
par(mfrow=c(2,2))
plot(fit2)