2013-07-01 2 views
0

엄밀히 말하면 긍정적 인 관찰 벡터로 작업하고 있습니다 (거리 측정 기준 임).
나는 밀도 함수의 느낌을 얻기 위해이 벡터와 함께 ksdensity을 사용하고 놀랍게도 음수 값을 포함합니다. 모든 음의 값 간격을 관찰 할 긍정적 인 가능성이 있음을 의미합니다.
내 관찰이 모두 긍정적임을 알고 있기 때문에 이것은 올바르지 않습니다.Matlab ksdensity가 제대로 작동하지 않습니다.

ksdensity은 왜 그런가? 나는 그것이 계속해서 차별화 될 수 있다고 가정하는 곡선을 완성했다는 느낌을 가지고있다. 이것은 올바른 가정입니까?

Matlab이 추측하지 않고 경험적 누적 함수의 "Derivate"를 제공하는 옵션이 있습니까?

답변

6

ksdensity이 반환하는 확률 밀도 추정치는 정상적인 커널 함수의 가정을 기반으로합니다. 데이터가 거의 제로 값이있는 경우 각각의 커널이 합산되어, 당신은 자연스럽게 부정적으로 일부 중복을 얻을 것이다 :

enter image description here

(Image Source가)

히스토그램이 문제 이후가되지 않습니다 실제로 존재하는 값만 표시합니다. 오류를 해결하기 위해 Mathworks에서 '커널 매끄럽게'라고하는 다른 배포를 지정하거나 맞춤 설정을 추가 할 수 있습니다. 예를 들어 :

[f,xi] = ksdensity(x,pts,'kernel','epanechnikov')

는 epanechnikov와 정규 분포를 대체합니다.

편집 :

... 그리고 당신이 항상 먼저, 난 그냥 당신은 단지 양의 값에 커널 밀도 추정을 제한 할 수 있다는 것을 발견 설명서를 읽어야 것을 증명 :

x = gamrnd(5,7,1000,1); 
[f,xi] = ksdensity(x,'support','positive'); 
figure 
plot(xi,f,'linewidth',2) 
+0

감사합니다. 하지만 그렇다면 경험적 CDF를 "유도"하는 MATLAB 함수가 있습니까? 나는 히스토그램을 좋아하지 않는다. – Manuel

+0

내가 너라면 카이 제곱 또는 감마 분포를 연결하는 방법을 살펴볼 것이다. 두 매개 변수를 전달하는 방법을 잘 모르겠습니다. ksdensity 파일을 열고 정규 분포를 사용하는 방법을 확인한 다음이를 적용하십시오. – Doresoom

+0

덕분에, 나는 파생물을 프로그램하는 것이 더 쉬울 것이라고 생각합니다. – Manuel

관련 문제