ekonometria w Pascalu

MgielkaCuba
Użytkownik
Użytkownik
Posty: 273
Rejestracja: 18 paź 2007, o 21:35
Płeć: Kobieta
Lokalizacja: Wrocław
Podziękował: 22 razy

ekonometria w Pascalu

Post autor: MgielkaCuba »

W ekonometrii wyznaczanie estymatorów parametrów opiera się na optymalizacji funkcji błędu. Załóżmy, że mamy model nieliniowy oparty na funkcji zależnej tylko od jednego nieznanego parametru. Wtedy funkcja błędu estymatora będzie funkcją jednej zmiennej. Niech \(\displaystyle{ f(B)}\) będzie ą funkcją, załóżmy dodatkowo, że jest to funkcja wypukła. Zaproponuj metodę wyznaczania punktu, w którym funkcja \(\displaystyle{ f(B)}\) osiąga minimum i napisz do tej metody odpowiednia procedurę.

Czy ktoś może mi napisać, z której strony "ugryźć" to zadanie?
Xitami

ekonometria w Pascalu

Post autor: Xitami »

F(x) - nasza wypukła funkcja, wypukła więc istnieje tylko jedno minimum.

minimum(początek, koniec, dokładność)
Zakładam, że początek \(\displaystyle{ \le}\) koniec.
W każdym kroku długość przedziału zmniejsz się o \(\displaystyle{ \frac{1}{4}}\), szkoda, że nie o połowę.
Dla danych początek, koniec, eps potrafimy policzyć w ilu krokach uzyskamy rozwiązanie. No w ilu?
Wartość funkcji na końcach przedziałów liczymy tylko raz (poza pierwszą iteracją), to miła cecha.
Obliczenia przerywane są gdy długość przedziału w którym znajduje się minimum będzie mniejsza od zadanego eps.
Funkcja zwraca "środek" ostatecznego zakresu, ale równie dobrze może zwracać jego początek albo koniec bo nic nie wiemy o minimlizowanej funkcji. W "średnim" przypadku tak chyba będzie lepiej.
Nie obliczamy wartości funkcji poza zadanym przedziałem a nawet na jego końcach, a to jest ważne.

Kod: Zaznacz cały

function F(x:real):real;
begin
	F:=sqr(x-5)+2    { x^2 - 10x + 27 }
end;

function minimum(p,k,eps:real):real;
var c,p1,k1:real;
begin
	repeat
		c:=(k+p)/2.0;
		p1:=(p+c)/2; k1:=(k+c)/2;
		if F(p1)<F(k1) then k:=k1
		else p:=p1;
	until k-p<eps;
	minimum:=(p+k)/2
end;

var r:real;
begin
	r:=minimum(1, 10, 1e-4);
	writeln('F(', r, ') = ', F(r))
end.
ODPOWIEDZ