2016-09-21 5 views
0

개체에 회귀 분석 의 결과를 얻는 방법에 대한 제안이 필요합니다.선형 회귀 분석 - 행을 가로 질러 회전

회귀 분석 행을 현명하게 수행하지 않고 을 20 일 내에 실행하지 않아도됩니다. 슬로프 객체는 각 일 회귀 분석의 결과 (기울기)를 창에 저장해야합니다.

#Loading Library 
    require(quantmod) 
    #Initiation of Example 
    mc_result <- matrix(sample(c(1:200)), ncol = 200, nrow =1) 
    mc_result1 <- matrix(sample(c(1:200)), ncol =200, nrow =1) 
    mc_result <- rbind(mc_result, mc_result1) 
    a <- c(1:200)   


    Slope <- matrix(ncol=2, nrow=181) 

주의이 루프는 작동하지 않습니다. 루프는 롤 적용 롤 행 을 적용하고 매일 슬로 씬에 결과를 저장해야합니다.

그러나 결과는 모양이 같지만 기울기 값이 변경되는 방식입니다. 현재 Slope Value는 안정적이며 그 이유를 알지 못합니다.

for (i in 1:2) { 

    Slope[,i] <- rollapply(data =mc_result[i,], width=20, 
          FUN = function(z) 
          summary(lm(mc_result[i,] ~ a, data = as.data.frame(z)))$coefficients[2], by.column = FALSE) 
    } 

답변

0

나는 당신이 원하는 것은 당신이 있기 때문에, 선형 회귀 계수가 변경되지 않는 이유 [I,] 또는 데이터의 인덱스를 통해 굴러가, 그건 mc_result 다음 (코드에서 아무도 없다 생각 동일한 데이터 세트에 대한 교육, z 만 변경되는 경우 코드를 다음과 같이 변경해야합니다.)

#Loading Library 
require(quantmod) 
#Initiation of Example 
mc_result <- matrix(sample(c(1:200)), ncol = 200, nrow =1) 
mc_result1 <- matrix(sample(c(1:200)), ncol =200, nrow =1) 
mc_result <- rbind(mc_result, mc_result1) 
a <- c(1:200)   
Slope <- matrix(ncol=2, nrow=181) 

for (i in 1:2) { 

    Slope[,i] <- rollapply(data = 1:200, width=20, 
         FUN = function(z) { 
          summary(lm(mc_result[i,z] ~ a[z]))$coefficients[2] 
         }, by.column = FALSE) 
} 

head(Slope) 
      [,1]  [,2] 
[1,] 1.3909774 2.0278195 
[2,] 1.0315789 2.8421053 
[3,] 1.5082707 2.8571429 
[4,] 0.0481203 1.6917293 
[5,] 0.2969925 0.2060150 
[6,] 1.3526316 0.6842105 
+0

Perfect. 왜 이런 일이 일어 났는지 알았어 고마워! – user6771241