Strona 1 z 1

Wykładnicza Metoda Najmniejszych Kwadratów

: 29 lip 2022, o 16:50
autor: janusz47
Wykładnicza Metody Najmniejszych Kwadratów

W wielu zagadnieniach zwłaszcza ekonomicznych przyjmuje się wykładniczą postać funkcji \(\displaystyle{ f(x) = a\cdot e^{b\cdot x} }\) w Metodzie

Namniejszych Kwadratów.

W tym celu funkcję wykładniczą sprowadzamy do funkcji liniowej przez logarytmowanie:

\(\displaystyle{ \ln [f(x)] = b\cdot x +\ln(a), }\)

i stosując podstawienia:

\(\displaystyle{ F(x) = \ln[f(x)], \ \ \alpha = \ln(a), \ \ \beta = b,}\)

otrzymujemy funkcję liniową:

\(\displaystyle{ F(x) = \beta \cdot x + \alpha .}\)

Transformujemy punkty \(\displaystyle{ (x_{i}, y_{i}) }\) na punkty \(\displaystyle{ (x_{i}, \ln(y_{i})) }\)

obliczając wartości \(\displaystyle{ \beta }\) i \(\displaystyle{ \alpha. }\) Z równań \(\displaystyle{ b = \beta, \ \ a = e^{\alpha} }\) otrzymujemy \(\displaystyle{ a,b. }\)

Program w MATLAB

Kod: Zaznacz cały

function expmnk(x,y)
% Wykładnicza Metoda Najniejszych Kwadratów
n =length(x);
n=length(y);
z=log(y);
sumx=sum(x);
sumz=sum(z);
sumx2=sum(x.*x);
sumxz=sum(x.*z);
beta=(n*sumxz-sumx*sumz)/(n*sumx2-sumx^2);
b=beta;
alfa=(sumx2*sumz-sumxz*sumx)/(n*sumx2-sumx^2);
a=exp(alfa);
disp('     Wykladnicza Metoda Najmniejszych Kwadratów      ')
fprintf('\n a=%12.6f\n',a)
fprintf('b=%12.6f\n',b)
disp('____________________________________________________________')
disp('   xi     yi   ln(yi)   a*exp(b*xi)  |yi-[a*exp(b*xi)]|')
disp('_____________________________________________________________')
for i=1:n
    ye=a*exp(b*x(i));
    err(i)=abs(ye-y(i));
    fprintf('%6.2f %6.2f %6.2f %12.6f %12.6f\n',x(i),y(i),z(i),ye,err(i))
end
Przykład

Kod: Zaznacz cały

>> expmnk(x,y)
     Wykladnicza Metoda Najmniejszych Kwadratów      

a=    3.801404
b=   -0.044406
____________________________________________________________
   xi     yi   ln(yi)   a*exp(b*xi)  |yi-[a*exp(b*xi)]|
_____________________________________________________________
  1.00   4.00   1.39     3.636293     0.363707
  3.00   3.50   1.25     3.327274     0.172726
  4.00   2.90   1.06     3.182757     0.282757
  6.00   2.50   0.92     2.912280     0.412280
  9.00   2.75   1.01     2.549046     0.200954
 15.00   2.00   0.69     1.952841     0.047159

Re: Wykładnicza Metoda Najmniejszych Kwadratów

: 30 lip 2022, o 06:18
autor: pesel
Zawsze jak korzystam z tego sposobu to zastanawiam się skąd wiadomo, że suma kwadratów odchyleń funkcji liniowej minimalizuje się dla tych samych współczynników, dla których miinimalizuje się ta suma dla funkcji wykładniczej. Jest na to jakiś dowód?

Re: Wykładnicza Metoda Najmniejszych Kwadratów

: 30 lip 2022, o 11:24
autor: 3a174ad9764fefcb
Nie, nie ma na to dowodu i nie będzie. Gdy zagadnienie traktujemy addytywnie, otrzymamy inny wynik niż gdy multiplikatywnie. Wynik zależy więc od intuicji analityka i od tego, jak przygotuje dane przed wrzuceniem do maszynki, która nazywa się metodą najmniejszych kwadratów.