2012-03-16 4 views
1

3 개의 Matrix 객체로 선형 회귀를 수행하는 데 문제가 있습니다.매트릭스를 사용하여 선형 회귀를 수행하는 방법은 무엇입니까?

m1 = matrix(c(1:10)) 
m2 = matrix(c(10:19)) 
m3 = matrix(c(100:109)) 

내가 할 경우 내가 문제가 없습니다 : 내가 두 계수를 얻을이 경우

m1 = matrix(c(1:20), ncol=2) 
m2 = matrix(c(1:10)) 

mod = lm(m1 ~ m2+0) 

:

mod = lm(m1+m2 ~ m3+0) 

난 단지 같은 두 매트릭스 용을 사용하는 경우 그 문제가 m2 :

Coefficients: 
    [,1] [,2] 
m2 1.000 2.429 

그러나 나는 내가 M1 행렬의 두 개의 열이 작업을 수행하는 방법 (같은 두 가지 열)

이전 예제로 될 것이라고 싶습니다 싶지 않아?

+0

@Spacedman 첫 번째 예제와 같은 것을하고 싶습니다. 그러나 하나의 행렬을 가진 하나의 행렬을 사용하십시오. – Dail

+1

무엇을 모델로하고 싶은지 설명하십시오. – Hansi

+1

사실 나는 방금 당신의 더 큰 매트릭스가 LHS에 있다는 것을 깨달았습니다. 그것은 공변량이 아니라 반응을 의미합니다. R은 각 열을 따로 따로 다루는 2 개의 모델에 적합합니다. lm (m1 ~ m2)의 coeff는 lm (m1 [, 1] ~ m2)과 lm (m1 [, 2] ~ m2)의 값이다. 첫 번째 예에서는 LHS-m1 + m2에 단일 열 행렬 만 입력하면 수식의 LHS에 행렬이 추가됩니다. – Spacedman

답변

2

첫 번째 예에서는 두 개의 열 벡터를 행별로 합하여 목표로 사용합니다. 행렬 m1에 대해서 당신은 예측 자로 행렬을 원한다고 생각합니다.

같은

M1 = 매트릭스 (C (1 : 2000)을 NcoI = 200)

m2 = 매트릭스 (C (1시 10분))

msum 적용 = (m1,1, sum)

이제 응답에 msum을 사용하십시오.

개조 = 필름 (msum ~ m2 + 0)

이것은 단지 하나의 계수 (減 衰 係數)를 제공한다. 나는 이것이 당신이 원하는 것이라고 생각하지만 여전히 확실하지 않습니다 당신이 이것을 원할 것입니까?

관련 문제