긍정적 인 영역으로 제한된 일부 계수를 사용하여 회귀 분석을 실행할 수 있었지만 문제가있는 부분을 압연하는 회귀 분석을 많이하고 있습니다.penlized 회귀 모델의 모든 계수를`penalized` 패키지에서 내보내는 방법은 무엇입니까? 롤링 회귀 추정치를보고하기 위해 필요합니다.
library(penalized)
set.seed(1)
x1=rnorm(100)*10
x2=rnorm(100)*10
x3=rnorm(100)*10
y=sin(x1)+cos(x2)-x3+rnorm(100)
data <- data.frame(y, x1, x2, x3)
win <- 10
coefs <- matrix(NA, ncol=4, nrow=length(y))
for(i in 1:(length(y)-win)) {
d <- data[(1+i):(win+i),]
p <- win+i
# Linear Regression
coefs[p,] <- as.vector(coef(penalized(y, ~ x1 + x2 + x3, ~1,
lambda1=0, lambda2=0, positive = c(F, F, T), data=data)))}
이 내가 일반적으로 회귀 롤링에서 coefs와 행렬을 채우는 방법이며, 지금은 오류가 나타납니다 : 항상이 없기 때문에 나는이 오류가 발생되어 있다고 가정
Error in coefs[p, ] <- as.vector(coef(penalized(y, ~x1 + x2 + x3, ~1, :
number of items to replace is not a multiple of replacement length
을 여기 내 샘플 코드 그 불이행 회귀 함수에서 나오는 인터셉트 + 3 개의 계수. penalized
은 coefs를 0으로 표시하는 기능이 있습니까? 또는 다른 방법으로 채워진 matrix/data.frame에?
는 사실 내가 지금은 단서를 가지고 있지 않는 한 coefs 어떤 변수에 속한 그 0 coefs을보고 싶습니다. 나는 몇몇 timeseries 분석을 할 것이므로, 이것들을 다시 빌드하는 것은 꽤 어려울 것이다. – Viitama
일반 선형 모델을 재현하려고하는 예제가 사용되고 모방하려고합니다. 의도적으로 말하면 안되지만 예제를 흉내 내면됩니다. 차이점은 근본적인 이유로 인해 일부 coefs가 양수인으로 제한된다는 것입니다. – Viitama