Artur Suchwałko

szkolenia: ryzyko kredytowe, data mining, statystyka, analiza danych

Nov
10

Obliczenia symboliczne i optymalizacja numeryczna w GNU R

Posted under analiza danych, GNU R by Artur Suchwałko

System R potrafi (w bardzo ograniczonym zakresie) wykonywać obliczenia symboliczne. Oto przykład:

D(expression(x^2+3),'x')
W tym przykładzie wyznaczana jest pochodna wyrażenia x^2 + 3 względem zmiennej x.

W podobny sposób można stworzyć funkcję, która umożliwia łatwe numeryczne wyznaczanie pochodnych funkcji podanej symbolicznie:

funkcja <- deriv((y ~ x^2 + .5 * x^4), "x", func = TRUE)
Z nowej funkcji korzystamy jak z każdej innej: funkcja(0). Uwaga: nowa funkcja nie składa się z pochodnych cząstkowych funkcji podanej symbolicznie, ale umożliwia wyznaczanie tych pochodnych oraz wartości wyjściowej funkcji. Bardziej złożony przykład powinien wyraźniej pokazać przewagę wariantu z pochodnymi liczonymi symbolicznie.

Symboliczne wyznaczanie pochodnych znajduje zastosowanie w optymalizacji numerycznej. Umożliwia to zastosowanie bardziej zaawansowanych i skutecznych metod, na przykład nlm i optim. Oto przykład porównujący optymalizację z wykorzystaniem symbolicznie wyznaczonej pochodnej:

nlm(funkcja, 3)
oraz bez niej:

funkcja.num <- function(x) {x^2 + .5 * x^4}
nlm(funkcja.num, 3)

Jak widać, oszczędzamy jedną / połowę iteracji.



szkolenia | data mining | analiza danych | statystyka | system statystyczny R | predictive modeling

prognozowanie | credit scoring | ryzyko kredytowe | programowanie | eksploracyjna analiza danych

analiza skupień | klasyfikacja | wizualizacja | darmowe oprogramowanie statystyczne | Wrocław