실제 데이터를 사용하고 있으며 회귀 모델이 반 직관적 인 결과를 산출합니다. 일반적으로 나는 통계를 신뢰하지만 실제로 이러한 것들 중 일부는 사실이 될 수 없습니다. 내가보고있는 주요 문제는 실제로 하나의 변수가 증가하면 실제로는 음의 상관 관계가 있어야 응답이 증가한다는 것입니다.
각 회귀 계수에 대해 특정 부호를 강제하는 방법이 있습니까? 이 작업을 수행하는 모든 R 코드도 감사하겠습니다.
모든 도움을 주셔서 감사합니다!
실제 데이터를 사용하고 있으며 회귀 모델이 반 직관적 인 결과를 산출합니다. 일반적으로 나는 통계를 신뢰하지만 실제로 이러한 것들 중 일부는 사실이 될 수 없습니다. 내가보고있는 주요 문제는 실제로 하나의 변수가 증가하면 실제로는 음의 상관 관계가 있어야 응답이 증가한다는 것입니다.
각 회귀 계수에 대해 특정 부호를 강제하는 방법이 있습니까? 이 작업을 수행하는 모든 R 코드도 감사하겠습니다.
모든 도움을 주셔서 감사합니다!
답변:
한계 상관 관계와 부분 상관 관계 (다른 변수에 조건부 상관 관계)의 차이를주의하십시오. 합법적으로 다른 표시 일 수 있습니다.
즉 는 음수 일 수 있지만 다중 회귀 분석의 회귀 계수는 양수입니다. 이 두 가지에 반드시 모순이있는 것은 아닙니다. Simpson의 역설을 참조하십시오 . 이는 다소 관련이 있습니다 (특히 다이어그램). 일반적으로 회귀 계수는 한계 상관 관계에 대한 인수를 기반으로 한 부호 여야한다고 유추 할 수 없습니다.
예, 회귀 계수를 또는 * 로 제한 할 수 있습니다 . 여러 가지 방법이 있습니다. 이들 중 일부는 via와 같이 R에서 쉽게 수행 할 수 있습니다 . 다수의 R 패키지와 다른 가능한 접근법을 언급 한이 질문에 대한 답변도 참조하십시오 .≤ 0nnls
그러나 많은 부분이 쉽게 구현되기 때문에 1의 요점을 신속하게 무시하지 않도록주의해야합니다.
* (해당 변수를 부정하여 음수가 아닌 프로그램을 사용하여 양수가 아닌 프로그램을 사용할 수 있음)
그런 방법이 있을지 모르지만 나는 그것이 당신의 상황에서 바람직 하지 않다고 말하고 싶습니다 .
불가능한 결과가있는 경우 :
1) 데이터에 문제가 있습니다. 2) "불가능"에 대한 정의에 문제가 있습니다. 또는 3) 잘못된 방법을 사용하고 있습니다.
먼저 데이터를 확인하십시오. 둘째, 코드를 확인하십시오. (또는 다른 사람들에게 확인하도록 요청하십시오). 둘 다 괜찮 으면 예기치 않은 일이 발생했을 수 있습니다.
다행히도 "불가능"이라는 간단한 말이 있습니다. 두 변수 는 양의 상관 관계 가 없습니다 . 따라서 산점도를 만들고 매끄럽게 추가하십시오. 단일 특이 치가이를 유발할 수 있습니다. 또는 비선형 관계 일 수 있습니다. 또는 다른 것.
그러나 운이 좋으면 새로운 것을 발견했습니다. 내가 가장 좋아하는 교수는 "놀라지 않으면 아무 것도 배우지 않았다"고 말했었습니다.
특정 질문에 대답하기 위해 계수에 음이 아닌 제약 조건으로 최소 제곱 회귀를 수행 하는 nnls 패키지를 사용해 볼 수 있습니다 . 적절한 예측 변수의 부호를 변경하여 원하는 부호를 얻는 데 사용할 수 있습니다.
그런데 여기에 양의 상관 관계와 음의 회귀 계수를 갖는 방법을 보여주기 위해 데이터 집합을 만드는 매우 간단한 방법이 있습니다.
> n <- rnorm(200)
> x <- rnorm(200)
> d <- data.frame(x1 = x+n, x2= 2*x+n, y=x)
> cor(d)
x1 x2 y
x1 1.0000000 0.9474537 0.7260542
x2 0.9474537 1.0000000 0.9078732
y 0.7260542 0.9078732 1.0000000
> plot(d)
> lm(y~x1+x2-1, d)
Call:
lm(formula = y ~ x1 + x2 - 1, data = d)
Coefficients:
x1 x2
-1 1