R의 quantile () 함수 설명
저는 하루 종일 R 분위수 함수에 대해 미스터리했습니다.
나는 분위수가 어떻게 작동하는지에 대한 직관적 인 개념과 통계의 MS를 가지고 있지만 소년 오 소년, 그것에 대한 문서는 나에게 혼란 스럽습니다.
문서에서 :
Q [i] (p) = (1-감마) x [j] + 감마 x [j + 1],
나는 지금까지 그것과 함께있다. 유형 i 분위수의 경우 신비한 상수 감마를 기반으로하는 x [j]와 x [j + 1] 사이의 보간입니다.
여기서 1 <= i <= 9, (jm) / n <= p <(j-m + 1) / n, x [j]는 j 차 통계, n은 표본 크기, m은 결정된 상수입니다. 샘플 분위수 유형별로. 여기서 감마는 g = np + mj의 분수 부분에 따라 달라집니다.
그렇다면 j를 어떻게 계산할까요? 미디엄?
연속 샘플 분위수 유형 (4-9)의 경우 샘플 분위수는 k 차 통계량과 p (k) 사이의 선형 보간을 통해 얻을 수 있습니다.
p (k) = (k-알파) / (n-알파-베타 + 1), 여기서 α와 β는 유형에 의해 결정되는 상수입니다. 또한 m = 알파 + p (1-알파-베타) 및 감마 = g입니다.
이제 나는 정말 길을 잃었습니다. 이전에 상수였던 p는 이제 분명히 함수입니다.
따라서 유형 7 분위수의 경우 기본값은 ...
유형 7
p (k) = (k-1) / (n-1). 이 경우 p (k) = mode [F (x [k])]입니다. 이것은 S.
누구든지 나를 돕고 싶어? 특히 나는 p가 함수이고 상수라는 표기법, 도대체 m 이 무엇인지 , 그리고 이제 어떤 특정 p에 대해 j를 계산 하는 것에 혼란스러워합니다 .
여기에있는 답변을 바탕으로 여기에서 진행되는 작업을 더 잘 설명하는 수정 된 문서를 제출할 수 있기를 바랍니다.
quantile.R 소스 코드 또는 유형 : quantile.default
당신은 당연히 혼란 스럽습니다. 그 문서는 끔찍합니다. (Hyndman, RJ; Fan, Y. (1996 년 11 월) "통계 패키지의 샘플 분위수". American Statistician 50 (4) : 361–365. doi : 10.2307 / 2684934 )에 기초한 논문으로 돌아 가야했습니다. 이해를 얻기 위해. 첫 번째 문제부터 시작하겠습니다.
여기서 1 <= i <= 9, (jm) / n <= p <(j-m + 1) / n, x [j]는 j 차 통계, n은 표본 크기, m은 결정된 상수입니다. 샘플 분위수 유형별로. 여기서 감마는 g = np + mj의 분수 부분에 따라 달라집니다.
첫 번째 부분은 논문에서 직접 나왔지만 문서 작성자가 생략 한 것은 j = int(pn+m)
. 이것은 (정렬 된) 관측치를 통과하는 방법의 일부에 Q[i](p)
가장 가까운 2 차 통계에만 의존 한다는 것을 의미 합니다 p
. (나처럼 용어에 익숙하지 않은 사람들에게는 일련의 관측치의 "순서 통계"가 정렬 된 계열입니다.)
또한 마지막 문장은 틀 렸습니다. 읽어야합니다
여기서 감마는 np + m, g = np + mj의 분수 부분에 따라 다릅니다.
에 관해서는 m
그 간단합니다. m
9 개의 알고리즘 중 어느 것이 선택되었는지에 따라 다릅니다. 따라서 Q[i]
분위수 함수도 마찬가지로 m
고려되어야합니다 m[i]
. 알고리즘 1과 2의 경우 m
0, 3의 경우 m
-1/2, 다른 알고리즘 의 경우 다음 부분에 있습니다.
연속 샘플 분위수 유형 (4-9)의 경우 샘플 분위수는 k 차 통계량과 p (k) 사이의 선형 보간을 통해 얻을 수 있습니다.
p (k) = (k-알파) / (n-알파-베타 + 1), 여기서 α와 β는 유형에 의해 결정되는 상수입니다. 또한 m = 알파 + p (1-알파-베타) 및 감마 = g입니다.
이것은 정말 혼란 스럽습니다. 문서가 부르는 p(k)
것은 p
이전 과 동일하지 않습니다 . p(k)
는 IS 묘화 위치 . 논문에서 저자는이를라고 썼는데 p
k
이는 도움이됩니다. 특수 발현 때문에 m
상기는 p
일본어이고 p
, 그리고 m = alpha + p * (1 - alpha - beta)
. 개념적으로 알고리즘 4-9의 경우 점 ( p
k
, x[k]
)은 해 ( p
, Q[i](p)
) 를 얻기 위해 보간됩니다 . 각 알고리즘은 p
k
.
마지막 비트에 관해서는 R은 S가 사용하는 것을 나타냅니다.
원래의 논문은 6 개의 "샘플 분위수에 대한 바람직한 속성"함수 목록을 제공하고, 모두 1만큼 만족하는 # 8에 대한 선호도를 명시합니다. # 5는 모든 항목을 만족하지만 다른 이유로는 좋아하지 않습니다. 원칙에서 파생 된 것보다 더 현상 학적). # 2는 나 같은 비 통계 괴짜들이 분위수를 고려할 것이며 위키피디아에 설명 된 것입니다.
BTW, dreeves 답변 에 대한 응답으로 Mathematica는 작업을 크게 다르게 수행합니다. 나는 매핑을 이해한다고 생각합니다. Mathematica는 이해하기 쉽지만 (a) 무의미한 매개 변수로 발을 쏘는 것이 더 쉽고 (b) R의 알고리즘 # 2를 수행 할 수 없습니다. (여기는 Mathematica가 # 2를 수행 할 수 없다고 설명하는 Mathworld의 Quantile 페이지가 있지만 4 개의 매개 변수 측면에서 다른 모든 알고리즘을 더 간단하게 일반화 할 수 있습니다.)
벡터를 제공하고 알려진 CDF가없는 경우 분위수를 계산하는 다양한 방법이 있습니다.
관측치가 정확히 분위수에 해당하지 않을 때 수행 할 작업에 대한 질문을 고려하십시오.
"유형"은 그 방법을 결정하는 것입니다. 따라서이 방법은 "k 차 통계와 p (k) 사이에 선형 보간을 사용"한다고 말합니다.
그래서, p (k)는 무엇입니까? 한 남자는 "글쎄, 나는 k / n을 사용하는 것을 좋아한다"고 말합니다. 다른 사람은 "나는 (k-1) / (n-1)을 사용하는 것을 좋아합니다"등을 말합니다. 이러한 각 방법은 한 가지 문제에 더 적합한 다른 속성을 가지고 있습니다.
\ alpha 's와 \ beta 's는 함수 p를 매개 변수화하는 방법 일뿐입니다. 어떤 경우에는 1과 1입니다. 다른 경우에는 3/8과 -1/4입니다. 나는 p가 문서에서 항상 상수라고 생각하지 않습니다. 그들은 항상 종속성을 명시 적으로 표시하지는 않습니다.
1 : 5 및 1 : 6과 같은 벡터를 입력하면 다른 유형에 어떤 일이 발생하는지 확인하십시오.
(또한 관측치가 정확히 분위수에 해당하더라도 특정 유형은 여전히 선형 보간을 사용합니다.)
참고 URL : https://stackoverflow.com/questions/95007/explain-the-quantile-function-in-r
'Programing' 카테고리의 다른 글
mocha의 --debug-brk 스위치로 노드 디버거를 활성화하는 올바른 방법은 무엇입니까? (0) | 2020.11.23 |
---|---|
이미지와 레이블로 사용자 정의 UIBarButtonItem을 만드는 방법은 무엇입니까? (0) | 2020.11.23 |
WPF 개발에 어떤 도구를 사용합니까? (0) | 2020.11.22 |
Eclipse에서 디버깅 된 프로세스를 종료 한 후 Perspective를 다시 변경하는 방법은 무엇입니까? (0) | 2020.11.22 |
Unity가 항상 SynchronizationLockException을 발생시키지 않도록 만들 수 있습니까? (0) | 2020.11.22 |