선형 모형에서 R- 제곱 일반화 된 선형 모형에서 이탈?


14

이 질문에 대한 내 맥락은 다음과 같습니다 survey. 가중 데이터와 패키지를 사용할 때 R에서 일반 최소 제곱 회귀를 실행할 수 없습니다 . 여기서 우리는 svyglm()대신 일반화 된 선형 모델을 실행하는 을 사용해야 합니다.

OLS와 lm()함수를 통해 R 제곱 값을 계산합니다. 해석은 이해합니다. 그러나 svyglm()이것을 계산하지 않고 대신 Deviance를 제공합니다. 인터넷을 둘러싼 간단한 여행은 R- 제곱과 다르게 해석되는 적합도 측도라고 말합니다.

따라서 본질적으로 방향을 찾고자하는 두 가지 질문이 있습니다.

  1. survey패키지 에서 OLS를 실행할 수없는 이유는 무엇 입니까? Stata의 가중치 데이터와 관련이있는 것 같습니다.
  2. 일반화 된 선형 모형의 이탈 도와 r- 제곱 값의 해석 차이는 무엇입니까?

2
@RichardBlissett, +1 사이트에 오신 것을 환영합니다. OLS 회귀는 일반화 된 선형 모형의 특수한 경우로, 링크 함수는 항등 함수이고 반응 분포는 정상입니다 (자세한 내용은 log-to-proit-models의 차이점- 여기에서 내 대답 참조 ). GLiM에는 '의사 R2'가 있지만 논란의 여지가 있습니다 (자세한 내용은 which-pseudo-r2-to-report-for-logistic-regression 참조).
gung-모니 티 복원

1
귀하의 의견에 감사드립니다 (응답하는 데 시간이 너무 오래 걸렸습니다 ...이 질문을 잃어 버렸고 너무 잊어 버렸습니다). 정말 놀라운 설명이었습니다. 감사합니다. 그렇다면 내 질문은 다음과 같다. 나는 이러한 통계 패키지가 설문 조사 가중치 데이터로 실행하는 데 근본적인 문제가 있기 때문에 OLS를 실행하지 않는다고 가정합니다. 그러나 그 문제가 무엇인지 알 수없는 것 같습니다.
RickyB

1
이탈은 분산의 일반화이고 예상 이탈은 R- 제곱의 일반화입니다. 문제는 예상되는 이탈에 대한 쉽고 일반적인 대답이없는 것입니다. 예를 들어 여기를 참조하십시오 : stats.stackexchange.com/questions/124306/…
nukimov

답변:


2

내가 알 수 있듯이 가중치 데이터와 survey패키지를 사용할 때 R에서 최소 최소 제곱 회귀 분석을 실행할 수 없습니다 . 여기서 우리는 svyglm()대신 일반화 된 선형 모델을 실행하는 을 사용해야 합니다.

svyglm측량 비 네트 (버전 3.32-1)에서 family = gaussian()기본값 인 것처럼 보이는 선형 모델을 제공합니다 . 그들이 찾은 예제를 참조하십시오 .regmodel

패키지는 호출 할 때 올바른 가중치를 사용하도록합니다 glm. 따라서 결과가 연속적이며 결과가 정상적으로 iid 분포라고 가정하면을 사용해야합니다 family = gaussian(). 결과는 가중 선형 모형입니다. 이 답변

survey패키지 에서 OLS를 실행할 수없는 이유는 무엇 입니까? Stata의 가중치 데이터와 관련이있는 것 같습니다.

survey패키지로 실제로 할 수 있다고 말함으로써 . 다음의 질문은

일반화 된 선형 모형의 이탈 도와 r- 제곱 값의 해석 차이는 무엇입니까?

얻을 수있는 정직 공식이 로 어떤 사람들이 코멘트에 언급 한 바와 같이. 아래에 표시된 것처럼 가중치를 추가해도 아무것도 변경되지 않습니다.R2family = gaussian()

> set.seed(42293888)
> x <- (-4):5
> y <- 2 + x + rnorm(length(x))
> org <- data.frame(x = x, y = y, weights = 1:10)
> 
> # show data and fit model. Notice the R-squared
> head(org) 
   x          y weights
1 -4  0.4963671       1
2 -3 -0.5675720       2
3 -2 -0.3615302       3
4 -1  0.7091697       4
5  0  0.6485203       5
6  1  3.8495979       6
> summary(lm(y ~ x, org, weights = weights))

Call:
lm(formula = y ~ x, data = org, weights = weights)

Weighted Residuals:
    Min      1Q  Median      3Q     Max 
-3.1693 -0.4463  0.2017  0.9100  2.9667 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   1.7368     0.3514   4.942  0.00113 ** 
x             0.9016     0.1111   8.113 3.95e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 2.019 on 8 degrees of freedom
Multiple R-squared:  0.8916,    Adjusted R-squared:  0.8781 
F-statistic: 65.83 on 1 and 8 DF,  p-value: 3.946e-05

> 
> # make redundant data set with redundant rows
> idx <- unlist(mapply(rep, x = 1:nrow(org), times = org$weights))
> org_redundant <- org[idx, ]
> head(org_redundant)
     x          y weights
1   -4  0.4963671       1
2   -3 -0.5675720       2
2.1 -3 -0.5675720       2
3   -2 -0.3615302       3
3.1 -2 -0.3615302       3
3.2 -2 -0.3615302       3
> 
> # fit model and notice the same R-squared
> summary(lm(y ~ x, org_redundant))

Call:
lm(formula = y ~ x, data = org_redundant)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.19789 -0.29506 -0.05435  0.33131  2.36610 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  1.73680    0.13653   12.72   <2e-16 ***
x            0.90163    0.04318   20.88   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 0.7843 on 53 degrees of freedom
Multiple R-squared:  0.8916,    Adjusted R-squared:  0.8896 
F-statistic: 436.1 on 1 and 53 DF,  p-value: < 2.2e-16

> 
> # glm gives you the same with family = gaussian()  
> # just compute the R^2 from the deviances. See 
> #   /stats//a/46358/81865
> fit <- glm(y ~ x, family = gaussian(), org_redundant)
> fit$coefficients
(Intercept)           x 
  1.7368017   0.9016347 
> 1 - fit$deviance / fit$null.deviance
[1] 0.8916387

편차는 사용할 때 제곱 오차의 합입니다 family = gaussian().

경고

나는 당신이 당신의 질문에서 선형 모델을 원한다고 가정합니다. 또한 survey패키지를 사용한 적이 없지만 신속하게 스캔하여 답변에서 언급 한 내용에 대해 가정했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.