불연속적이고 연속적인 데이터에 대한이 질문에 대답 하면서, 나는 범주 형 데이터를 연속적인 것으로 취급하는 것이 거의 이치에 맞지 않는다고 주장했다.
그것의 얼굴에는 자명 한 것처럼 보이지만 직관은 종종 통계에 대한 좋지 않은 가이드이거나 적어도 내 것입니다. 그래서 지금 궁금합니다. 맞습니까? 아니면 범주 형 데이터에서 일부 연속체로의 변환이 실제로 유용한 기존의 분석이 있습니까? 데이터가 서수 인 경우 차이가 있습니까?
불연속적이고 연속적인 데이터에 대한이 질문에 대답 하면서, 나는 범주 형 데이터를 연속적인 것으로 취급하는 것이 거의 이치에 맞지 않는다고 주장했다.
그것의 얼굴에는 자명 한 것처럼 보이지만 직관은 종종 통계에 대한 좋지 않은 가이드이거나 적어도 내 것입니다. 그래서 지금 궁금합니다. 맞습니까? 아니면 범주 형 데이터에서 일부 연속체로의 변환이 실제로 유용한 기존의 분석이 있습니까? 데이터가 서수 인 경우 차이가 있습니까?
답변:
"범주 형"변수는 실제로 서수 변수를 의미한다고 가정합니다. 그렇지 않으면 @Rob가 가리키는 이진 변수 (0/1로 코딩)가 아닌 한 연속 변수로 취급하는 것은별로 의미가 없습니다. 범주 형 데이터 분석을위한 많은 모델이 지금까지 개발 되었음에도 불구하고 문제가 변수를 다루는 방식이 아니라고 말할 수 있습니다. 예를 들어 정렬 된 범주 형 데이터 분석 : 개요 및 최근 조사 Liu와 Agresti가 개발 한 측정 규모보다 나의 답변은이 두 번째 요점에 초점을 맞출 것이지만, 먼저 변수 점수 또는 등급에 숫자 점수를 할당하는 것에 대해 간단히 설명 할 것입니다.
서수 변수의 간단한 숫자 기록을 사용하면 변수에 구간 속성이 있다고 가정합니다 (Stevens, 1946의 분류의 의미에서). 측정 이론의 관점 (심리학)에서, 이것은 종종 너무 강한 가정 일 수 있지만, 기본 연구 (즉, 명확한 표현으로 일상 활동에 대한 자신의 의견을 표현하기 위해 단일 항목을 사용하는 경우)의 경우 단조 점수는 비슷한 결과를 제공해야합니다 . 코크란 (1954)은 이미
실험 결과를 참고하지 않고 구성된 경우 모든 점수 세트는 유효한 테스트를 제공합니다. 점수 세트가 열악하면 실제로 정렬 된 분류의 기초가되는 수치 척도를 심하게 왜곡하기 때문에 테스트는 민감하지 않습니다. 따라서 점수는 분류가 구성되고 사용 된 방식에 대한 최상의 통찰력을 구현해야합니다. (p. 436)
(그의 의견 중 하나를 통해이 사실을 상기시켜 준 @whuber에게 많은 감사를 표명했습니다.
음, 불규칙한 범위에서 변수를 다시 코딩하거나 일부 수준을 집계하기로 결정할 수도 있지만,이 경우 레코딩 된 범주 간의 불균형이 통계 테스트 (예 : 위에서 언급 한 추세 테스트)를 왜곡 할 수 있습니다. @Jeromy는 카테고리 사이의 거리를 할당하는 좋은 대안, 즉 최적의 스케일링을 제안했습니다.
이제 두 번째 요점 인 기본 측정 모델에 대해 살펴 보겠습니다. 측정 스케일의 구성 및 분석은 Psychometric Theory (정밀한 개요를 위해 1994 년 Nunnally and Bernstein)에 있기 때문에 이런 종류의 질문을 볼 때 항상 "psychometrics"태그를 추가하는 것에 대해 주저하고 있습니다. 나는 실제로 Item Response Theory 아래에있는 모든 모델에 대해 언급하지 않을 것이며 관심있는 독자를 I에게 친절하게 언급합니다. Partchev의 튜토리얼, 항목 응답 이론에 대한 시각적 가이드, IRT에 대한 부드러운 소개 및 가능한 IRT 분류법에 대한 끝에 나열된 참조 (5-8)를 참조하십시오. 아주 간단히 말해서, 변수 범주 사이에 임의의 거리를 할당하는 대신 잠재적 규모를 가정하고 개인의 능력 또는 책임과 함께 해당 연속체에서의 위치를 추정하는 것이 좋습니다. 간단한 예는 많은 수학적 표기법의 가치가 있으므로 다음 항목을 고려해 보겠습니다 ( EORTC QLQ-C30 건강 관련 삶의 질 설문지에서 제공).
걱정 했니?
"전혀 아님"에서 "매우 많음"까지 4 점 척도로 코딩됩니다. 원시 점수는 1에서 4까지의 점수를 지정하여 계산됩니다. 동일한 척도에 속하는 항목에 대한 점수를 합산 하여 기본 점수 (이는 정신 건강 구성 요소 의 순위 를 나타내는 소위 척도 점수)를 산출 할 수 있습니다. ). 이러한 합산 된 점수는 (간호사 또는 간호사를위한) 용이 한 점수 때문에 매우 실용적이지만, 이산 된 (순서대로) 규모에 지나지 않습니다.
우리는 또한 위에서 언급 한 I. Partchev의 튜토리얼에 설명 된 것처럼 주어진 응답 범주를 승인 할 확률이 일종의 물류 모델을 따르는 것으로 간주 할 수 있습니다. 기본적으로 아이디어는 일종의 임계 값 모델 (비례 또는 누적 승산 모델로 등가 공식화)이며 우리는 이전 응답 또는 위의 점수 확률보다 하나의 응답 범주에있을 확률을 모델링합니다. 잠재적 특성에 대한 피험자의 위치에 따른 특정 범주. 또한 응답 범주가 잠복 척도 (이것은 등급 척도 모델)에서 동일 간격으로 배치 될 수 있습니다 (이는 정기적으로 간격을 둔 숫자 점수를 할당하여 수행하는 방식 임) (부분 신용 모델 임) .
분명히, 우리는 서수 변수가 숫자로 취급되는 클래식 테스트 이론에 크게 추가하지 않습니다. 그러나, 우리는 확률 적 모델을 소개하는데, 여기서 우리는 연속적인 스케일 (간격 속성 포함)을 가정하고 특정 측정 오차를 설명 할 수 있으며 회귀 모델에서 이러한 계승 점수를 연결할 수 있습니다.
참고 문헌
두 개의 범주 만 있으면 범주를 (0,1)로 변환하는 것이 좋습니다. 실제로 이것은 일반적으로 결과 더미 변수가 회귀 모델에 사용되는 경우에 수행됩니다.
범주가 두 개 이상인 경우 데이터가 서수인지 여부와 매우 구체적인 상황에서만 의미가 있다고 생각합니다. 예를 들어, 회귀를 수행하고 비모수 비선형 함수를 서수-축-숫자 변수에 맞추면 괜찮습니다. 그러나 선형 회귀를 사용하면 순서 변수의 연속 값 사이의 상대적인 차이에 대해 매우 강력한 가정을하고 있으며 일반적으로 그렇게하는 것을 꺼려합니다.
많은 범주를 가진 정렬 된 범주 형 변수를 연속적인 것으로 취급하는 것이 일반적입니다. 이것의 예 :
그리고 "연속 처리"란 연속 랜덤 변수를 가정하는 모델에 변수를 포함시키는 것을 의미합니다 (예 : 선형 회귀 분석의 종속 변수). 나는 이것이 합리적인 단순화 가정이되기 위해 얼마나 많은 스케일 포인트가 필요하다고 가정합니다.
다른 생각들 :
많은 독자들이 경험할 수있는 매우 간단한 예는 종종 학업에 부여 된 점수 나 등급에 관한 것입니다. 일반적으로 개별 과제에 대한 마크는 본질적으로 판단 기준의 서수 측정에 있으며, 비록 규칙에 따라 최대 5의 척도에 백분율 마크 또는 마크가 주어 졌을 때 (소수점도 가능). 즉, 교사는 에세이 또는 논문 또는 논문 또는 논문을 읽고 42 % 또는 4 또는 그 밖의 가치가 있다고 판단 할 수 있습니다. 마크가 자세한 평가 체계를 기반으로하는 경우에도 눈금은 간격 또는 비율 측정 눈금에서 약간 떨어진 거리에 있습니다.
그러나 많은 기관들은 이러한 점수 나 점수가 충분하다면 평균을 평가하고 (점수 평균 등) 완벽하게 합리적이라고 평가합니다. 따라서 어떤 시점에서 서수 측정은 마치 연속적인 것처럼 취급되는 요약 척도로 변합니다.
아이러니의 감정가들은 많은 부서 나 학교의 통계 과정이 종종 이것이 전체적으로 모호하고 최악의 경우이며, 전체 과정이 대학 전체의 절차로 시행되고 있다고 가르칩니다.
나는 정말로 범주적이고 비 직렬 변수를 연속적인 것으로 취급하는 것이 때때로 의미가 있다고 주장 할 것입니다.
대규모 데이터 세트를 기반으로 의사 결정 트리를 작성하는 경우 범주 형 변수를 더미 변수로 변환하는 데 처리 능력과 메모리 측면에서 비용이 많이들 수 있습니다. 또한 일부 모델 (예 : randomForest
R)은 여러 수준의 범주 형 변수를 처리 할 수 없습니다.
이 경우 트리 기반 모델은 연속 변수로 코딩 된 경우에도 매우 중요한 범주를 식별 할 수 있어야합니다. 고안된 예 :
set.seed(42)
library(caret)
n <- 10000
a <- sample(1:100, n, replace=TRUE)
b <- sample(1:100, n, replace=TRUE)
e <- runif(n)
y <- 2*a + 1000*(b==7) + 500*(b==42) + 1000*e
dat1 <- data.frame(y, a, b)
dat2 <- data.frame(y, a, b=factor(b))
y는 연속 변수이고, a는 연속 변수이며, b는 범주 형 변수입니다. 그러나 dat1
b 에서 연속으로 처리됩니다.
이 두 데이터 세트에 의사 결정 트리를 적용하면 다음 dat1
보다 약간 더 나쁩니다 dat2
.
model1 <- train(y~., dat1, method='rpart')
model2 <- train(y~., dat2, method='rpart')
> min(model1$results$RMSE)
[1] 302.0428
> min(model2$results$RMSE)
[1] 294.1411
두 모델을 보면 모델이 매우 비슷하지만 model1은 b == 42의 중요성을 그리워합니다.
> model1$finalModel
n= 10000
node), split, n, deviance, yval
* denotes terminal node
1) root 10000 988408000 614.0377
2) a< 42.5 4206 407731400 553.5374 *
3) a>=42.5 5794 554105700 657.9563
6) b>=7.5 5376 468539000 649.2613 *
7) b< 7.5 418 79932820 769.7852
14) b< 6.5 365 29980450 644.6897 *
15) b>=6.5 53 4904253 1631.2920 *
> model2$finalModel
n= 10000
node), split, n, deviance, yval
* denotes terminal node
1) root 10000 988408000 614.0377
2) b7< 0.5 9906 889387900 604.7904
4) a< 42.5 4165 364209500 543.8927 *
5) a>=42.5 5741 498526600 648.9707
10) b42< 0.5 5679 478456300 643.7210 *
11) b42>=0.5 62 5578230 1129.8230 *
3) b7>=0.5 94 8903490 1588.5500 *
그러나 model1은 model2 시간의 약 1/10에 실행됩니다.
> model1$times$everything
user system elapsed
4.881 0.169 5.058
> model2$times$everything
user system elapsed
45.060 3.016 48.066
물론 문제의 매개 변수를 조정하여 dat2
성능 이 훨씬 뛰어나 dat1
거나 dat1
성능이 약간 뛰어난 상황을 찾을 수 있습니다 dat2
.
나는 일반적으로 범주 형 변수를 연속적인 것으로 취급하는 것을 옹호하지는 않지만 예측 정확도를 줄이지 않고 모델에 맞추는 데 걸리는 시간을 크게 줄인 상황을 발견했습니다.
이 주제에 대한 아주 좋은 요약은 여기에서 찾을 수 있습니다 :
mijkerhemtulla.socsci.uva.nl PDF
"범주 형 변수는 언제 연속적인 것으로 취급 될 수 있는가? 차선의 조건 하에서 강력한 연속 형 및 범주 형 SEM 추정 방법의 비교."
Mijke Rhemtulla, 패트리샤 É. Brosseau-Liard 및 Victoria Savalei
그들은 약 60 페이지 분량의 가치있는 방법을 조사하고 언제 유용한 지, 어떤 접근법을 취해야하는지, 특정 상황에 맞는 각 접근법의 강점과 약점에 대한 통찰력을 제공합니다. 그들은 (내가 배우고있는 것처럼 무한한 금액이있는 것처럼 보입니다) 그들 모두를 커버하지는 않지만, 그들이 커버하는 것은 잘 커버합니다.
데이터가 연속적인 데이터 (예 : 아날로그-디지털 변환기를 통해)에서 샘플링 될 때 또 다른 경우가 있습니다. 구형 계측기의 경우 ADC는 일반적으로 10 비트이며 보통 1024 개의 범주 서수 데이터를 제공하지만 대부분의 경우 실제 크기로 처리 될 수 있습니다 (스케일의 최저값 근처에 값에 대한 인공물이있을 수 있음). 오늘날 ADC는 일반적으로 16 비트 또는 24 비트입니다. 65536 또는 16777216 "범주"를 말할 때까지 데이터를 연속적으로 취급하는 데 아무런 문제가 없습니다.