_대문 | 방명록 | 최근글 | 홈피소개 | 주인놈
FrontPage › 로버스트회귀분석

Contents

[-]
1 사용법
2 예측, 신뢰구간, plotting
3 참고자료


1 사용법 #

m1 <- rlm(dau ~ x, data=tmp) #후버의 M추정
m2 <- lqs(dau ~ x, method="lms", data=tmp) #LMS: Least Median of Squares
m3 <- lqs(dau ~ x, method="lts", data=tmp) #LTS: Least Trimmed Squares, 이상치로 추정되는 값을 버리고 회귀분석
m4 <- lqs(dau ~ x, method="lts", quantile=8, data=tmp) #9,10 분위에 해당되는 값을 버리고 회귀분석
boxplot(m1$resid, m2$resid, m3$resid, m4$resid)

2 예측, 신뢰구간, plotting #

target <- "s"

if (target == "l"){
    xx <- seq(1:nrow(long_term))
    tmp <- data.frame(x = seq(1:nrow(long_term)), dau=long_term$dau)
} else {
    xx <- seq(1:nrow(short_term))
    tmp <- data.frame(x = seq(1:nrow(short_term)), dau=short_term$dau)
}


fit1 <- rlm(dau ~ x, data=tmp)
fit.data <- data.frame(predict(fit1, data.frame(x=xx), interval="prediction", level=.95))
newdata <- data.frame(x = (max(xx)+1):(max(xx)+7)) 
pred1 <- data.frame(predict(fit1, newdata, interval="confidence", level=.95))

d1 <- data.frame(x=xx, dau=tmp$dau)
d2 <- data.frame(x=newdata, dau=pred1$fit)
d <- sqldf("
select * from d1 
union all
select * from d2
")
plot(d)

lines(xx, fit.data$fit, col="black")
lines(xx, fit.data$lwr, col="blue")
lines(xx, fit.data$upr, col="red")

lines(newdata$x, pred1$fit, col="black", lty="dashed")
lines(newdata$x, pred1$lwr, col="blue", lty="dashed")
lines(newdata$x, pred1$upr, col="red", lty="dashed")


댓글 남기기..
이름: : 오른쪽의 새로고침을 클릭해 주세요. 새로고침
EditText : Print : Mobile : FindPage : DeletePage : LikePages : Powered by MoniWiki : Last modified 2018-04-13 23:12:52

자신을 불행한 존재라고 생각하는 사람은 아직도 더 불행해질 여지가 남아있다. 아주 작은 일에도 큰 기쁨을 느끼는 사람에게는 그 어떤 불행도 위력을 상실해 버리고 만다. 그러나 아주 작은 일에도 기쁨을 느낄 수 있는 경지에 이르기까지는 어차피 여러 가지 형태의 불행을 감내하지 않을 수가 없다. 불행이란 알고 보면 행복이라는 이름의 나무 밑에 드리워진 행복만한 크기의 나무그늘 같은 것이다. (이외수 "흐린 세상 건너기" 中에서)