히스토그램 비닝에 대한 Doane의 공식


9

히스토그램에 사용할 가장 적합한 구간 수를 추정하기 위해 다양한 알고리즘을 구현하고 있습니다. 내가 구현하고있는 대부분의 내용은 Wikipedia "히스토그램"페이지 " 빈 수 및 너비 "* 섹션에 설명되어 있습니다.

Doane의 공식에 문제가 있습니다.

1 + log(n) + log(1 + kurtosis(data) * sqrt(n / 6.))

n데이터 크기는 어디에 있습니까 ?

문제는 첨도가 음수 일 때의 n >> 1인수 log가 음수가 되기 때문 입니다.

* (이 페이지가 게시 된 이후 변경되었으며, 게시 당시의 페이지를 가리 키도록 링크가 편집되었습니다.)


1
이 공식에 첨도 또는 과잉 첨도를 사용하는지 알고 있습니까 (즉, 정규 dist에 4 또는 0이 있습니까)?
Peter Flom

@PeterFlom : 원본 논문 ( amstat.tandfonline.com/doi/pdf/10.1080/00031305.1976.10479172 )에서 첨도는 왜도 ( skewness )로 정의되지만 전문가는 아닙니다. 원본 논문은 또한 위키 백과 공식과는 상당히 다릅니다.
Ruggero Turra

1
뭐라 구요? 첨도는 왜 도로 정의됩니까? 말이되지 않습니다. 그들은 매우 다릅니다. 용지에 액세스 할 수 없지만 어딘가에 엉망인 것 같습니다.
Peter Flom

@PeterFlom 정규 분포는 4가 아니라 3의 첨도를 가져야합니다.
Glen_b-복지 국가 Monica

@PeterFlom 나는 왜도 대 첨도 문제를 조사하고 있습니다-내 답변에서 "편집 2"를 참조하십시오.
Glen_b-복지 주 모니카

답변:


11

이 답변은 Wikipedia 페이지를 조사함에 따라 크게 변경되었습니다. 나는 답변을 크게 추가했지만 추가했지만 지금은 이해의 진보를 이룬다. 마지막 부분은 최고의 정보가있는 곳입니다.

짧은 대답 : wikipedia 페이지와 OP의 공식은 적어도 세 가지 이유로 잘못되었습니다. 나는 몇 가지 문제를 설명하기 때문에 원래 토론 (OP와 위키 백과가 올바르게했다고 가정)을 남겨 둘 것입니다. 더 나은 토론은 나중에 이어집니다. 간단한 조언 : 단순히 Doane을 잊어 버리십시오. 당신이 경우에 있어야 사용, 위키 피 디아의 말씀 사용 지금 (내가 그것을 고정).


나는 공식이 과도한 첨도를 참조해야한다고 믿는다. 그 이유는 일반 데이터의 수식을 수정하여 비정규 데이터를 설명하므로 수정되지 않은 데이터를 정상으로 재생할 수 있기 때문입니다. 과도한 첨도를 사용하면 그렇게됩니다.

그러나 로그의 항이 큰 표본에서 음수가 될 수 있다는 문제가 발생합니다 (실제로 작은 에서 일 수 있음 ). 나는 부정적인 초과 첨도와 함께 사용하지 않는 게 좋을 것 (I 어쨌든 unimodality 이상을 사용하지 않을 것, 상황이 복합 일단 당신이 초과 첨도 아이디어를 적용 할 을 통해 원활하지 모드!)하지만 경증과 ( 과도한 첨도는 0보다 작고 샘플 크기는 크지 않지만 큰 문제는 아닙니다.0n

또한 어떤 경우에도 의도 한대로 작동하더라도 큰 샘플 크기의 빈을 너무 적게 제공 할 것을 제안합니다.

이 논문을 찾을 수 있습니다 (일반 CVer Rob Hyndman ) :

http://www.robjhyndman.com/papers/sturges.pdf

관심이 있습니다. Sturges의 주장이 틀리면 Doane의 공식은 Rob이 논문에서 분명히 지적한 것과 같은 문제를 가지고 있습니다.

그 논문에서 (그리고이 답변에서 ) 그는 Freedman-Diaconis 규칙을 끄덕였습니다. 이 논문에서 그는 또한 Matt Wand가 언급 한 접근 방식을 지적합니다 (그는 온라인이 아닌 것처럼 보이는 작업 논문을 참조하지만 액세스 권한이있는 경우 후속 논문을 이용할 수 있습니다).

http://www.jstor.org/discover/10.2307/2684697

[편집 : 실제로 작업 논문에 대한 링크는 인용 페이지에 있습니다 ]

이 접근법은 기본 밀도를 추정하기위한 대략 최적의 (MISE 통합 평균) 빈 폭을 얻기 위해 특정 기능을 대략 추정합니다. 이것들은 잘 작동하고 일반적으로 Sturges 또는 Doane보다 많은 쓰레기통을 제공하지만, 때로는 여전히 좋은 쓰레기통을 더 선호하지만 때로는 일반적으로 매우 좋은 첫 시도입니다.

솔직히 나는 왜 Wand의 접근법 (또는 최소한 Fredman Diaconis 규칙)이 거의 모든 곳에서 기본값이 아닌지 알 수 없습니다.

R은 최소한 빈 수에 대한 Freedman-Diaconis 계산을 제공합니다.

 nclass.FD(rnorm(100))
[1] 11
 nclass.FD(runif(100))
[1] 6
 nclass.FD(rt(100,1))
[1] 71

보다 ?nclass.FD

개인적으로, 저에게는 적어도 처음 두 경우에는 쓰레기통이 너무 적습니다. 나는 그것이 최적보다 조금 더 시끄럽다는 사실에도 불구하고 두 가지를 두 배로 늘릴 것입니다. n이 커짐에 따라 대부분의 경우에 잘 작동한다고 생각합니다.


편집 2 :

@PeterFlom이 당황스럽게 표현한 왜곡 대 첨도 문제를 조사하기로 결정했습니다.

나는 방금 Doane 논문 wiso를 보았습니다 (이전에 읽었습니다 ....하지만 거의 30 년 전입니다).

Doane의 실제 공식은 다음과 같습니다.Ke=log2(1+g1σg1)

여기서 는 추가 된 빈의 개수이고 은 세 번째 모멘트 왜곡입니다. [실제로 Doane은 상당히 일반적인 시간 사용에 따라 를 부호있는 (!) 세 번째 순간 왜곡에 사용합니다 (특히이 불완전한 표기법 남용의 기원은 상당히 오래되어서 추구하지 않을 것입니다) 운 좋게도 지금은 훨씬 덜 자주 등장한다는 것을 제외하고는 말입니다.]Keg1b1

이제 정상적으로, (n은 100을 넘을 때까지 근사치가 매우 좋지 않지만 Doane은 첫 번째 형식을 사용합니다)σg1=6(n2)(n+1)(n+3)6n

그러나 누군가가 첨도에 적응하려고 시도한 것처럼 보입니다 (이 위키 백과를 작성할 때 첨도 측면에서 그것을 가지고 있다고 생각하지 않습니다)-분명한 이유가 있습니다. 공식이 단순히 잘못되었다고 믿습니다 (사용 된 표준 오류는 위에서 설명한 왜도에 대한 최종 근사치입니다). wikipedia 이외의 여러 곳에서 첨도를 사용하는 것을 보았지만 Doane의 논문에없는 것 외에도 Scott의 논문이나 내가 언급 한 Hyndman 논문이나 완드의 논문에는 존재하지 않습니다. 그러나 Doane은 대한 근사값을 갖지 않기 때문에 어딘가에서 온 것 같습니다 (즉, Wikipedia의 원본이 아닌 것 같습니다).σg1. 그것이 끝나기 전에 여러 번 연주 된 것처럼 보입니다. 누군가가 그것을 추적하면 관심이 있습니다.

Doane의 주장 이 행복하게 첨도 까지 확장 되어야하는 것처럼 보이지만 올바른 표준 오류 를 사용해야합니다.

그러나 Doane은 Sturges에 의존하고 Sturges의 주장에 결함이있는 것으로 보이므로 전체 기업이 파산 된 것 같습니다. 어쨌든 나는 Wikipedia에서 히스토그램 대화 페이지를 편집하여 오류를 지적했습니다.

---

편집 3 : wikipedia 페이지를 수정했습니다 (그러나 왜도의 절대 값을 취할 자유를 얻었습니다. 그렇지 않으면 Doane의 원래 공식은 왼쪽으로 치우친 분포에 사용할 수 없습니다-빈의 수는 분명히 표시됩니다 왜도는 중요하지 않습니다). 엄밀히 말하면 공식을 원래의 (잘못된) 형식으로 제시 한 다음 왜 이해가되지 않는지 설명했지만 여러 가지 이유로 문제가 있다고 생각합니다. 최소한 사람들이 공식을 복사하고 설명. 나는 그것이 실제로 Doane의 원래 의도를 다루고 있다고 생각합니다. 어쨌든 그것은 원래 있던 넌센스에 비해 크게 개선되었습니다. (원래 종이에 액세스 할 수 있습니다 사람, 그것을 봐 주시기 바랍니다 방법b1 정의되어 위키 백과에 대한 변경 사항을 확인하여 첨도, 표준 오류 및 잘못된 로그베이스와 Doane의 자체 작은 오류와 같은 적어도 세 가지가 잘못되었는지 확인하십시오.)


대단히 감사합니다. 그건 그렇고 나는 "미국 통계 학자"에 그런 오류를보고 놀랍습니다. 표기법을 본 적이 없습니다 . b1
Ruggero Turra

그 규모의 작은 오류 (절대 값이 없음)는 저널에서 자주 발생하지는 않습니다. 표기법은 실제로 상당히 일반적입니다. eg1 , eg2 , eg3 ... 나는 수십을 가리킬 수 있었다
Glen_b-복지국 모니카

2

두 번째와 네 번째 모멘트로 정의 된 첨도 측정 값은 절대 음수가 아닙니다 ( 참조 ) log(1+...)>0.

이 수량은 kurtosis()R 라이브러리 의 명령으로 구현됩니다 moments. 또한 명령 hist()을 사용하여 다음과 같이 나누기 횟수를 지정할 수 있습니다.

library(moments)

n <- 250
data <- rnorm(n)

# Sturges formula log_2(n) + 1
hist(data,breaks = "Sturges")

# Doane's formula    
Doane <- 1 + log(n) + log(1 + kurtosis(data) * sqrt(n / 6.))
hist(data,breaks = Doane)

명령에 사용 된 공식 kurtosis()은 간단 mean((data - mean(data))^4)/mean((data - mean(data))^2)^2합니다.

이제``최상의 ''공식이 무엇인지 조사하려면 기준이 필요합니다. 이것은 통계 문헌에서 다루어지지 않았다고 생각하십시오.


내가 모르는 것은 Doane의 공식에서 첨도의 정의입니다.
Ruggero Turra

게시 한 wikipedia 항목에 첨도 정의에 대한 링크가 있습니다. 또한, 내가 게시 한 것과 동일합니다. 그것은 제 4 샘플 중심 모멘트를 제 2 샘플 중심 모멘트의 제곱으로 나눈 것으로 추정된다. 코드 편집을 참조하십시오.
마일즈 데이비스

1
다시 말하지만, 당신이 올바른 Doane의 공식인지는 모르겠습니다. 예를 들어 종이를 보면 그는 log 대신 log2를 사용합니다
Ruggero Turra

글쎄, 그건 당신이 게시 된 "Doane의 공식"입니다 ¬¬ . 어쨌든이 log(n,2)대신을 사용하여 사소한 문제를 해결할 수 있습니다 log(n). 그러나 wikipedia 항목과 다른 출처는 log.
Miles Davis 14
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.