2011. 1. 19. 11:37
프로그램 정보
- R - http://www.r-project.org/
- 수치 분석용 패키지 MATLAB 등이 있지만 본 프로그램은 오픈소스용 프로그램
- MASS
- Robust Regression 관련 패키지, 예제를 보고 기본 패키지인 줄 알았으나 아니였음, 이 패키지 찾는다고 고생함.-_-;;;
관련 예제 링크
- Robust Regression 사용 예제
- 기본 회귀 분석 메소드 사용 예제
- http://www.remantu.com/r/analysis/regression
- 단순 회귀 분석은 위의 링크에서도 알 수 있으므로 생략하고 그것보다 본 링크에서 얻을 수 있는 것은 원본 데이터를 화면에 출력하고 회귀 분석 결과로 추정된 직선을 출력하는 것
적용 예
- 하고자 하는 일
- 2 차원 그래프 상에 X,Y 축에 각각 데이터들의 좌표 정보들만 가지고 있을 때 이 들 좌표 정보와 가장 맞아 떨어지는 기울기 정보를 찾고자 하기 위함이다.
- 기본적인 방법
- R 스크립트에서 데이터를 로드 해 roubst linear regression 과 linear regression 으로 기울기 정보를 추정하는 스크립트를 자동으로 작성한다.
- 자동으로 작성하는 스크립트는 아래에 참조
- robust regression 이 추정이 실패했을 경우,
- R을 실행해 해당 데이터 값을 화면에 출력하고 robust regression 결과와 linear regression 결과를 그래프로 출력하여 보았다. 그 중 눈으로 봤을 때 가장 적합한 것을 선택하여 추정값으로 이용함.
관련 스크립트 - R용 회귀 분석 정보 스크립트 작성 코드
- 사용법
makeRBatchFile <생성할 스크립트 파일명> <데이터 파일명>
- 데이터 형식
X, Y
65.0, 529.0
31.0, 100.0
25.0, 625.0
18.0, 36.0
54.0, 2916.0
0.0, 729.0 - 소스코드
function makeRBatchFile() {
rm -rf $1
touch $1
chmod a+x $1
echo '#!/opt/R-2.12.1/bin/Rscript' >> $1
echo 'library(MASS)' >> $1
echo 'lst=read.table("'"$2"'", sep=",", header=TRUE)' >> $1
echo 'lst2=lst[]' >> $1
echo 'cat("'"$2"'\n")' >> $1
echo 'm1=rlm(Y~X, data=lst2)' >> $1
echo 'cat("rlm result:")' >> $1
echo 'coef(summary(m1))' >> $1
echo 'm2=lm(Y~X, data=lst2)' >> $1
echo 'cat("lm result:")' >> $1
echo 'coef(summary(m2))' >> $1
echo 'cat("\n")' >> $1
}
'철학, 물리, 수학' 카테고리의 다른 글
eDonkey 2000 설치시 스파이웨어 설치 방지 팁! (0) | 2006.01.19 |
---|---|
윈앰프 한글 언어변환기 및 한글 mp3infp 2.52a 릴리즈! (2) | 2006.01.17 |
Winamp KR for New Style! (0) | 2005.11.13 |