2015-01-20 4 views
2

히스토그램의 퍼짐을 테스트하기 위해 MATLAB에서 어떤 테스트를 할 수 있습니까? 예를 들어 주어진 히스토그램 세트에서 1,2,3,5 및 7 (왼쪽에서 오른쪽으로, 위에서 아래로)에만 관심이 있습니다. 확산이 적기 때문입니다. 히스토그램에 왜곡이 있는지를 알려주는 값을 얻으려면 어떻게해야합니까?MATLAB의 히스토그램 왜곡 추정

Chi-Squared 테스트를 사용하는 것이 가능할 수도 있지만 MATLAB 코드가 무엇인지는 확실하지 않습니다. enter image description here

+0

나머지 빈들이 얇게 퍼져있는 동안 좋은 수의 항목이 빈 0에서 비닝됨에 따라 히스토그램 # 6도 비뚤어 짐을 주장 할 수 있습니다. 나는 # 6이 귀하의 기준에도 포함되어야한다고 생각하지만 그것은 저뿐입니다. – rayryeng

답변

3

standard definition of skewness을 사용할 수 있습니다. 즉, 사용할 수 있습니다

당신은 당신의 데이터의 평균을 계산하고 당신은 왜도를 계산하기 위해 위의 방정식을 사용합니다. 양 및 음의 비대칭 때문에 같다 :

원본 : 그것이 Wikipedia 이와 같이

이 값이 클수록 더 많은 양으로 기울어. 값이 음수 일수록 부정적인 경향이 있습니다.


이제 히스토그램 데이터의 평균을 계산하면 매우 간단합니다. 히스토그램 항목의 가중 합계를 수행하고 전체 항목 수로 나눕니다. 히스토그램이 h에 저장되어있는 경우 히스토그램의 빈 센터는 x에 저장되며 다음을 수행합니다.

x = 0:numel(h)-1; %// Judging from your pictures 
num_entries = sum(h(:)); 
mu = sum(h.*x)/num_entries; 
skew = ((1/num_entries)*(sum((h.*x - mu).^3)))/... 
     ((1/(num_entries-1))*(sum((h.*x - mu).^2)))^(3/2); 

skew는 비대칭의 수치 측정이 포함됩니다 : ... 사진에서 판단 내가 여기서 할 것하면 0까지 N 히스토그램에서 빈의 총 수는 N-1까지 쓰레기통이 있다고 가정이다 그 수식을 따르는 히스토그램. 따라서 문제 성명서를 통해 긍정적이고 큰 비대감 번호를 찾아야합니다. 나는 당신이 봐야 할 문지방에 대해 정말로 논평 할 수는 없지만 당신이 가진 대부분의 히스토그램보다 훨씬 큰 양수를 찾으십시오.

+0

솔루션을 제공해 주셔서 감사합니다. 제가 생각하기에 내가 생각한 것은 대답되었습니다. 그러나 결과에서 숫자 3의 비뚤어 짐이 304 인 반면 숫자 4는 750 인 것처럼 보입니다. 제가 생각하기에 제게 도움이 될만한 것은, 값의 처음 90 %가 범위 1- 50 ... – NeilDA

+0

@NeilDA - 내 공식으로 작은 실수를 했으므로 내 게시물을 확인하고 업데이트 된 코드를 사용하는 것이 좋습니다. 나는 몇 개의 괄호를 잊었다. – rayryeng

+1

@NeilDA - 원하는 경우, 히스토그램에서'cumsum '을 수행하고, 50 번째 항목이 누적 된 총 항목의 90 %인지 확인하십시오. 이렇게하면 다음과 같습니다.'c = cumsum (h); check = c (50)> 0.9 * sum (h (:));'check'는 히스토그램 항목의 적어도 90 %가 첫 번째 50 개의 bin 안에 있는지를 결정하는'true' 또는'false'를 포함합니다. – rayryeng