히스토그램을 사용하여 상호 정보 (MI)를 추정 할 수있는 구간이 가장 적습니다. 가장 좋은 방법은 가능한 경우 교차 검증을 통해 선택하거나 경험에 의존하는 것입니다. 이것이 히스토그램을 기반으로하지 않는 MI의 다른 많은 추정기가 제안 된 이유입니다.
구간 수는 총 데이터 포인트 수 따라 달라집니다 . 두 변수 사이의 결합 분포에 대한 추정 오차를 피하기 위해 너무 많은 구간을 피해야합니다. 또한 두 변수 사이의 관계를 캡처 할 수있는 빈을 너무 적게 피해야합니다. 점을 감안 하여 2 차원 히스토그램을 생성 모두에 대해 동일한 폭 쓰레기통 와 나는 개인적으로 선택할 것 :
당신은 적어도이 두 가지 균일하게 분포 확률 변수에 대한 평균이 경우에는 포인트를 히스토그램의 각 셀 :
nnp.histogram2d(x, y, D)
D
x
y
D=⌊n/5−−−√⌋
5엔디엑스디와이≥ 5 ⇒엔디2≥ 5 ⇒디2≤ N / 5 ⇒ D = ⌊n / 5−−−√⌋
이것은
(Cellucci, 2005) 에서 제안 된 적응 적 파티셔닝 접근법을 시뮬레이트하는 하나의 가능한 선택입니다 . 후자의 접근법은 MI가 유전자 네트워크를 추론하기 위해 MI를 추정하는 데 종종 사용됩니다 (예 :
MIDER) .
데이터 포인트 이 많고 결 측값이없는 경우 최상의 수의 구간을 찾는 것에 대해 너무 걱정하지 않아도됩니다. 예를 들어, 만약 . 그렇지 않은 경우 유한 샘플의 MI를 수정하는 것이 좋습니다. (Steuer et al., 2002) 는 유전자 네트워크 추론 작업에 대한 MI에 대한 일부 수정 사항을 논의합니다.엔n = 100 , 000
히스토그램의 구간 수를 추정하는 것은 오래된 문제입니다. Lauritz Dieckman의 MI에 대한 구간 수 추정에 대한 이 대화 에 관심이있을 수 있습니다 . 이 이야기는 마이크 X 코헨의 장을 기반으로 책 신경 시계열에 대해.
와 독립적으로 선택 하고 1D 히스토그램에서 수를 추정하는 데 사용되는 경험 법칙을 사용할 수 있습니다.디엑스디와이
Freedman-Diaconis의 규칙 (분포에 대한 가정 없음) :
여기서 은 75 분위수와 25 분위수의 차이입니다. 이 관련 질문을 SE에서보십시오 .
디엑스= ⌈최대 X− 최소 X2 ⋅ IQR ⋅엔- (1) / 3⌉
IQR
스캇의 규칙 (정상 가정) :
여기서 는 표준 편차입니다. 대한 .
디엑스= ⌈최대 X− 최소 X3.5 ⋅에스엑스⋅엔- (1) / 3⌉
에스엑스엑스
스터 지 규칙 (빈의 수를 과소 평가할 수 있지만 큰 ) :
엔
DX=⌈1+log2n⌉
히스토그램으로 MI를 정확하게 추정하는 것은 어렵습니다. 그런 다음 다른 추정기를 선택할 수 있습니다.
MI를 추정하기위한 많은 패키지가 있습니다 :
- Python 용 비 파라 메트릭 엔트로피 추정 도구 상자. 사이트 .
- Java의 정보 역학 툴킷이지만 Python에서도 사용 가능합니다. 사이트 .
- Matlab의 ITE 툴박스. 사이트 .