Интервалы прогнозирования для подгонки в Python, как и в Matlab

#python #matlab #scipy #curve-fitting #scipy-optimize

Вопрос:

В Matlab есть функция «predint», которая определяет интервалы для объекта cfit. Я перепробовал все способы репликации этой функции на Python, но безуспешно. Я знаю «scipy.optimize.curve_fit», который похож, но вы не можете получить интервалы прогнозирования, как в Matlab, на выходе. Кто-нибудь может мне помочь, пожалуйста?

Данные о проблеме-это общее «y», в моем случае исходящее от датчика; в то время как «x» — это просто количество выборок «y», расположенных на равном расстоянии друг от друга на 1.

С помощью «p11» я получаю матрицу из 2 столбцов, где один-верхний порог, а другой-нижний порог.

 % Matlab CODE

y = tbl.VarName2;
x = 1:length(y);

[xData, yData] = prepareCurveData( x, y );

% Set up fittype and options.
ft = fittype( 'exp2' );
opts = fitoptions( 'Method', 'NonlinearLeastSquares' );
opts.Display = 'Off';
opts.Normalize = 'on';


% Fit model to data.
[fitresult, gof] = fit( xData, yData, ft, opts );

p11 = predint(fitresult,x,0.9,'observation','off');

figure
plot(fitresult,x,y)
hold on 
plot(x,p11,'m--')
title('Nonsimultaneous Observation Bounds','FontSize',9)
grid on
 

Комментарии:

1. Это ответ на ваш вопрос?