Согласно справке Матлаба , quantile
линейно интерполирует между точками эмпирической кумулятивной функции распределения (ECDF).Важно отметить, что точки, интерполированные между ними, являются средними точками стояков на каждом шаге .Я считаю, что фактическое поведение значительно отличается.Вот мой пример, ECDF и линейный сегмент для отображения интерполяции:
y= [ 1 2 5 5 5 5 5 5 9 10 ]
ecdf(y)
grid on
set(get(gca,'Children'),'LineWidth',2)
hold on
% Line segment for interpolation
x2points=[2;5]; y2points=[0.15;0.5];
plot(x2points,y2points)
От сегмента линии интерполяции мы ожидаемквантиль для F (x) = 0.3 должен быть около x = 3.3, но вместо этого он равен x = 5.
yInterior=0.3 % Value to get `x` for
xInterior=interp1(y2points,x2points,yInterior) % ans = 3.2857
xInterior=quantile(y,yInterior) % ans x=5
Есть ли где-то еще документация, где я пропускаю, который объясняет эту разницу?
Я один это вижу?
Я использую Matlab 2015b.