1.
Cel ćwiczenia
Celem ćwiczenia jest zapoznanie się ze sposobami estymacji nieliniowej. Na poprzednich
laboratoriach stosowaliśmy metodę najmniejszych kwadratów do estymacji zależności liniowej w
postaci: y=ax+b oraz do zależności, które można było zlinearyzować np.: y=ax
b
. W ogólniejszym
przypadku zależy nam na możliwości znalezienia współczynników dowolnie zaprojektowanej funkcji
nieliniowej. Głównie dlatego, że nie każdą funkcję nieliniową można zlinearyzować, ale również z
powodu przekształcania danych w czasie linearyzacji, silnie wpływającego na wyniki estymacji.
Podstawowym problemem przy analizie nieliniowej jest zrozumienie, że „program” nie odgadnie
za nas postaci zależności regresyjnej. Dlatego należy zwrócić szczególną uwagę studentom na
zrozumienie idei regresji oraz faktu, iż proponowane zależności nie biorą się z „powietrza”. Są to
najczęściej proponowane przez naukowców zależności, których postać zależy od głębokiej wiedzy
badaczy oraz dogłębnego zrozumienia analizowanego zjawiska.
2.
Przebieg zajęć (opis zawarty w skrypcie uzupełniam o mim zdaniem potrzebne komentarze)
a)
Wprowadzenie danych – estymacja_nieliniowa.xls – dane są zorganizowane w dwóch
kolumnach zawierających poszczególne zmienne (zależną oraz niezależną) Należy zwrócić
uwagę na fakt, że tej samej wartości zmiennej X są przypisane więcej niż jedna wartość
zmiennej zależnej Y.
b)
„Moduł estymacja nieliniowa” proponuje uruchomić w trybie zgodności win2k bez
kompozycji wizualnych. Udało mi się w ten sposób narysować wykresy. Po wyborze
modułu musimy określić rodzaj analizowanego zagadnienia. Do wyboru mamy:
•
Regresją użytkownika : można zdefiniować dowolny model nieliniowy.
•
Regresja logistyczna : Ogólny model logistyczny można wyrazić następującym
wzorem:
Y = b0/{1 + b1*exp(b2*x)} Stanowi on niejako rozwinięcie modelu logit. Model logit
ogranicza zależną zmienną objaśnianą tylko do dwóch wartości, zaś regresja
logistyczna pozwala odpowiedziom przybierać wartości z pewnego przedziału.
Załóżmy na przykład, że interesuje nas wzrost w funkcji czasu populacji pewnego
gatunku, który został wprowadzony do nowego środowiska. Zmienną zależną może
być liczba jednostek tego gatunku w danym środowisku. Oczywiście istnieje dolna
granica zmiennej zależnej, ponieważ w środowisku nie może istnieć mniej niż 0
jednostek; najprawdopodobniej istnieje również górna granica, która zostanie
osiągnięta w pewnym momencie czasu. Modele logistyczne są również używane w
farmakologii w celu opisania wpływu różnych dawek leku.
•
Modele dla odpowiedzi binarnych: probit i logit: Jest to specyficzny przypadek analizy,
w której zmienna zależna jest zmienną mogącą przyjmować jedynie dwie możliwe
wartości (0,1) – czyli mają naturę binarną. Na przykład pacjenci powrócą do zdrowia
po urazie albo nie; kandydaci do pracy przejdą albo nie przejdą testu
kwalifikacyjnego, subskrybenci czasopisma wznowią albo nie subskrypcję itd.
•
Regresja
wykładnicza:
Estymowana
zależność
regresyjna
ma
postać:
y=c+exp(b
0
+b
1
x
1
+b
2
x
2
+…+b
k
x
k
)
•
Regresja segmentowa : Jest to narzędzie do analizy zależności cechującej się
nieciągłością a dokładniej model opisujący zależność regresyjną zmienia się w
pewnych „przedziałach”. Przykładem może być sytuacja, w której prowadzona jest
produkcja i w ramach zwiększenia mocy produkcyjnych uruchamiana jest dodatkowa
produkcja na starszych maszynach. Koszt jednostkowy rośnie wtedy znaczącą, lecz
wraz ze wzrostem ilości wyprodukowanych elementów maleje.
W trakcie laboratorium przybliżona zostanie zagadnienie estymacji dowolnej postaci zależności
regresyjnej.
Po wyborze pierwszej opcji z listy ukazuje się panel:
Wybór przycisku „Funkcja estymowana i funkcja straty” przenosi nas do panelu:
W oknie tym należy wpisać estymowana postać funkcji. Przypomnieć w tym miejscu o źródle
naszej wiedzy na temat proponowanej zależności regresyjnej. W oknie należy wpisać pełną
postać funkcji, np.: Y=b1+b2+X^6. Program sam „zrozumie”, że Y to zmienna zależna, X, to
niezależna a b
i
to współczynniki regresji.
W okienku funkcja straty można zdefiniować wzorem tzw. funkcję straty, czyli w praktyce określić
metodę, za pomocą której wyznaczone zostaną współczynniki modelu regresyjnego:
•
(OBS-PRED)**2 – metoda najmniejszych kwadratów.
•
(Obs-Przew)
2
* (1/x
2
) –ważona metoda najmniejszych kwadratów – uwzględnia
fakt, że wariancja błędu pomiaru dla różnych zmiennych niezależnych nie jest
stała.
•
Metoda największej wiarygodności ( o tym tylko wspomnieć)
Po wpisaniu postaci zależności regresyjnej otrzymujemy panel:
Tutaj należy określić szczegółowe parametry optymalizacji. Bo tak naprawdę, to analiza regresji
polega na wyznaczeniu współczynników modelu metodami optymalizacyjnymi. Każda z dostępnych
metod ma swoje zalety oraz wady. Po szczegóły należałoby sięgnąć do podręczników z optymalizacji.
W skrócie:
•
Metoda quasi-Newtona polega na tym, że w każdym kroku iteracji zostaje oszacowana
funkcja w różnych punktach w celu estymacji pochodnych pierwszego i drugiego rzędu.
Informacja ta jest następnie wykorzystywana w celu podążania po ścieżce zmierzającej do
minimum funkcji straty.
•
Procedura Sympleks.
Algorytm ten nie opiera się na obliczaniu lub estymacji pochodnych
funkcji straty. Natomiast w każdej iteracji funkcja będzie szacowana w m+1 punktach w m
wymiarowej przestrzeni parametrów. Na przykład w dwóch wymiarach (tzn. gdy trzeba
oszacować dwa parametry), program oszacuje funkcję w trzech punktach wokół bieżącego
optimum. Te trzy punkty zdefiniują trójkąt; w więcej niż trzech wymiarach "figura" utworzona
przez te punkty nazywa się sympleksem. Intuicyjnie, w dwóch wymiarach trzy punkty
pozwolą nam określić, "w którym kierunku podążać", to znaczy, w którym kierunku w
przestrzeni w dwuwymiarowej należy podążać, aby zminimalizować funkcję. Tę samą zasadę
można zastosować do wielowymiarowej przestrzeni parametrów, to znaczy, że sympleks
będzie "przemieszczał" się w dół, gdy aktualne długości kroków staną się zbyt "zgubne", aby
wykryć wyraźny kierunek opadający (tzn. gdy sympleks jest zbyt duży), to sympleks "skurczy
się" i nastąpi kolejna próba.
•
Metoda Hooke'a-Jeevesa przemieszczania układu.
W pewnym sensie jest to najprostszy ze
wszystkich algorytmów. Metoda ta polega na tym, że w każdej iteracji zostaje zdefiniowany
układ punktów przez przesuwanie pojedynczo każdego parametru, tak by zoptymalizować
bieżącą funkcje straty. Cały układ punktów zostaje następnie przesunięty lub przemieszczony
w nowe położenie; nowe położenie jest określone przez ekstrapolację linii ze starego punktu
bazowego w m wymiarowej przestrzeni parametrów do nowego punktu bazowego. Długości
kroków w tym procesie są stale dostosowywane, tak by synchronizować się w odpowiednim
optimum. Metoda ta jest zazwyczaj całkiem efektywna i powinna być wypróbowana, gdy
obie metody quasi-Newtona i sympleks (patrz powyżej) nie dają sensownych ocen
parametrów.
•
Metoda Rosenbrocka poszukiwania układu.
Kiedy wszystkie inne metody zawodzą, wówczas
często dobre wyniki daje metoda Rosenbrocka poszukiwania układu. W metodzie tej rotuje
się przestrzeń parametrów i wyrównuje się jedną oś do grzbietu (metoda ta nazywana jest
również metodą rotacji współrzędnych); wszystkie inne osie pozostaną do niej ortogonalne.
Jeśli funkcja straty jest jednomodalna i posiada wykrywalne grzbiety wskazujące w kierunku
minimum funkcji. Zauważmy jednak, że ten algorytm poszukiwania może zostać wcześnie
przerwany, jeśli istnieje kilka krępujących ograniczeń (odbijających się na wartości kary; patrz
powyżej), które się nakładają, co prowadzi do nieciągłości w okolicach grzbietów.
Tip:
Macierz (cząstkowych) pochodnych drugiego rzędu nazywa się hesjanem.
Właściwe wybranie metody optymalizacji oraz ustalenie ich parametrów nie jest
zagadnieniem
prostym.
Wymaga
praktyki
w
posługiwaniu
się
procedurami
optymalizacyjnymi.
Opcja asymptotyczne błędy standardowe - pozwala wyznaczyć ocenę odchyleń standardowych
współczynników,
Maksymalna liczba iteracji – można dawać max (1000), ponieważ irytujące jest zapytanie co 30
iteracji czy program ma liczyć dalej.
Kryterium zbieżności – im mniejsza wartość tym teoretycznie dokładniejszy wynik, lecz czasem
algorytm nie będzie w stanie znaleźć współczynników zapewniających zadana dokładność.
(pozostawić wartości domyślne).
Wartości początkowe – tu problem, ponieważ badający powinien w przybliżeniu znać poszukiwane
rozwiązanie. To znaczy, że im dalej od optimum zaczniemy szukać, tym większe
prawdopodobieństwo, że nie znajdziemy poszukiwanych wartości współczynników.
Długość kroku – wartość silnie zależna od zmienności funkcji regresji. Ma również wpływ na to, czy
przy zadanej ilości iteracji będziemy w stanie znaleźć optimum.
Po wciśnięciu ok. mamy ekran wyników:
Bardzo ważna jest informacja czy proces estymacji osiągnął zbieżność czy też nie. Jeśli nie, wówczas
należy przemyśleć zastosowane parametry estymacji lub wybrać inny algorytm lub w ostateczności
przemyśleć, czy zaproponowana postać regresji jest właściwa.
Dwukrotne wciśnięcie OK. daje:
Ocena – to wartości współczynników
t(41) - wartość statystyki testowej t-Studenta, służącej do weryfikacji hipotezy o nieistotności
poszczególnych współczynników.
Wyjaśniona wariancja – to współczynnik determinacji R
2
(kwadrat współczynnika korelacji)
Wybór dopasowana funkcja 2W i wart obserwowane pozwala wyznaczyć wykres zależności:
Uzyskany wykres należy analizować w taki sam sposób jak dla zależności liniowych, np. poszukując
błędów pomiaru (odstające dane) itd.
Zadanie 1
Stężenie toksyn w wodzie, spowodowane wyciekiem z uszkodzonego rurociągu maleje w funkcji
czasu. Przyjmuje się zależność w postaci:
Y=
b1+(.49-b1)exp(-b2(X-b3))
Wyznaczyć postać zaproponowanego modelu oraz określić stopień jego dopasowania.
Zadanie 2
Na podstawie danych pochodzących z pomiarów oblicz wartości parametrów i wykreśl
krzywą wysokości drzewostanu. Zastosuj w tym celu równanie Näslunda.
·
1.3
gdzie: h – wysokość drzewa, d – pierśnica drzewa, A, B – parametry równania.