2014-01-19 2 views
4

lm 또는 gls의 특정 계수를 양수로 제한하는 방법을 아는 사람이 있습니까?lm() 또는 gls()에 대한 양수 계수

예를 들어 lm(y ~ x1 + x2 + ... + xn) 또는 gls(y ~ x1 + x2 + ... + xn)을 입력하고 싶습니다. 예를 들어 x1x2의 계수는 음수가 아닌 값을 입력하고 싶습니다.

+0

'R'에서'nnls' 패키지를 확인하고 음수가 아닌 최소 제곱 주위의 문헌을 확인하십시오.이게 당신이 찾고있는 것 같아요. –

+0

및 [this] (http://stats.stackexchange.com/questions/61733/linear-regression-with-slope-constraint)도 도움이됩니다. – agstudy

답변

2

매개 변수의 상한 및 하한을 지정할 수있는 nls(...)을 사용하는 것이 좋습니다. 따라서 다음과 같이하십시오 :

# not tested... 
fit <- nls(y~a*x1 + b*x2 +c*x3...,data=mydata, 
      start=c(a=1,b=1,c=1...), lower=c(a=0,b=0,c=NA,...), algorithm="port") 

here 설명서를 읽으십시오.