nlinfit
, a zwłaszcza gatool
, są duże młoty do tego problemu. Sigmoid nie jest określoną funkcją. Najczęściej przyjmuje się, że jest taka sama jak funkcji logistycznej (również często najbardziej skuteczne, aby obliczyć):
y = 1./(1+exp(-x));
lub uogólniony logistycznych. Ale wszystkie rodzaje krzywych mogą mieć sigmoidal shapes. Jeśli wiesz, czy twoje dane odpowiadają jednemu w szczególności, dopasowanie może być ulepszone i można zastosować bardziej wydajne metody. Na przykład error function (erf
) ma sigmoidalny kształt i pojawia się w CDF z normal distribution. Jeśli wiesz, że twoje dane są wynikiem procesu Gaussa (tzn. Dane to CDF) i masz przybornik ze statystykami, możesz użyć funkcji normfit
. Ta funkcja jest oparta na maximum likelihood estimation (MLE). Jeśli będziesz musiał napisać niestandardową funkcję dopasowania - powiedzmy, ze względu na wydajność - zbadam techniki MLE dla konkretnej postaci sigmoidy, którą chcesz dopasować.
Znalazłem następujący sigfunc aby być bardziej użytecznym 'sigfunc = @ (A, x) (A (1) ./ (1 + exp (-A (2) * x));' – ohnoplus
@ user92519 Bez problemu , Podałem to tylko jako przykład. –
Witam. Co rozumiesz przez "wektor współczynników dopasowania"? –