HomeBlogGuestbookLab 

JDM's Blog

온갖 테스트 결과가 기록되는 이곳은 JDM's Blog입니다. :3

R Language - Earth Package

이 포스팅은 Multivariate adaptive regression splines(MARS) 포스트에서 파생되었습니다. R 언어 - Earth 패키지를 다룹니다.

R language - Earth Package

R language에서 Earth 패키지를 설치하는것부터 예제 실행까지 진행해 봅시다. 이후 진행 되는 일부 정보는 inside-R earth에서 참조 되었습니다.

Prepare R

Earth 패키지를 실행하려면 R을 설치해야 합니다. R을 설치하려면 프로그래밍 언어 R(Programming language R)을 참조하세요.

Earth Package Download

earth: Multivariate Adaptive Regression Splines에서 earth_4.2.0.zip(r-release) 파일을 다운로드 받습니다. 그 뒤, 다운로드 받은 파일의 압축 해제 후 R이 설치된 디렉토리/library에 복사합니다. * Windows7(32bit) 기준, RGui에서 package - Install packages로도 설치 가능합니다.

Example

RGui를 띄우고 R console에서 library() 타이핑하면 earth가 잡힙니다. 콘솔에서 library("earth") 구문을 실행해 봅시다. 아무런 오류가 출력 되지 않으면 이제 예제를 실행 시켜 봅시다.

Use Case

Case1

library("earth")

x <- c(2,4,6,8,10,13,16,19,22,25,28,31,34,37,40,45,50,55,60,65)

y <- c(0.2,0.5,0.8,1.1,1.4,1.7,2,2.3,2.6,2.9,3.2,3.5,3.8,4.1,4.4,4.7,5,5.3,5.6,5.9)

model <- earth(y~x, penalty=-1)

summary(model)

 #Call: earth(formula=y~x, penalty=-1)
 #
 #            coefficients
 #(Intercept)    3.6419660
 #h(31-x)       -0.1134763
 #h(x-31)        0.0687987

predict(model, c(22)) #  2.620679

x의 값을 22을 넣었더니 2.620679라는 값이 도출 됐습니다. 이는 2.6과 상당히 유사한것으로 볼 수 있겠네요.

Case2

library("earth")

x <- c(2,4,6,8,10,13,16,19,22,25,28,31,34,37,40,45,50,55,60,65)

y <- c(0.2,0.5,0.8,1.1,1.4,1.7,2,2.3,2.6,2.9,3.2,3.5,3.8,4.1,4.4,4.7,5,5.3,5.6,5.9)

z <- c(2.2,4.5,6.8,9.1,11.4,14.7,18,21.3,24.6,27.9,31.2,34.5,37.8,41.1,44.4,49.7,55,60.3,65.6,70.9)

model <- earth(z~x+y, penalty=-1)

summary(model)

predict(model, c(c(2,0.2))) # 2.351153

x, y라는 독립 변수에 각각 2, 0.2를 대입한 경우 2.351153이 나왔습니다. 이는 2.2와 0.1정도 오차가 있긴 하지만 유사하다고 보겠습니다. -_-;

Exception Case

> library("earth")
Error: package ‘plotmo’ required by ‘earth’ could not be found 

위 구문을 해결하려면 plotmo: Plot a Model's Response and Residuals에서 plotmo_2.2.1.zip(r-release) 파일을 다운로드받아 압축 해제 후 R 라이브러리 디렉토리에 넣습니다.

> library("earth")
Loading required package: plotmo
Error: package ‘plotrix’ required by ‘earth’ could not be fo

위 구문을 해결하려면 plotrix: Various plotting functions에서 plotrix_3.5-11.zip(r-release) 파일을 다운로드 받은 후 R 라이브러리 디렉토리에 넣습니다.