Die Sprache R und die RBibliothek fr rumliche
Die Sprache R und die R-Bibliothek für räumliche Extrapolation 1. Einige Extrapolationspakete in R: 2. Beispiele von Extrapolationspaketen 1
1 - Einige Extrapolationspakete in R: • adapt multidimensionale , numerische Integration. adaptive Quadrature bis zu 20 dimensional • deldir Delaunay Triangulation and Dirichlet (Voronoi) Tesselation • fields Tools für räumliche Datensammlungen und Programme für Kurvenund Funktionen-Anpassung. • gafit Generische Algorithmen Zur Kurvenanpassungen • geo. R Funktionen für geostatistiche Datenanalyse • grasper Verallgemeinerte Analyse der Regression und räumliche Vorhersagen in R 2
• gss allgemeine Glättung von Splines • iswr Einführung in die Statistik in R • msm Multistate Markov models in continuous time • muhaz Paket zum Erzeugen einer glatten Schätzung der Zufallsfunktion für kritische Werte • odesolve Gewöhnliche Differentialgleichungen • Random fields Simulation and Analysis of Random Fields • spatstat Simulation von 2 dimensionalen Punktmodellen • splanes Spatials and Space-time Point Pattern Analysis • tseries Time series analysis and computational finance. 3
Hinweis: Die Installation eines Pakets unter R erfolgt wie folgt: Paket herunterladen und • unter Windows: im {R-Home}/library -Verzeichnis kopieren • unter Linux /Unix: R INSTALL Paket. tar • alternativ R starten und install. package(‘Paket‘) eingeben 2. Beispiele von Extrapolationspaketen 2 -1 Das Paket Akima Anwendung: cubic spline extrapolation Aufruf: • Ergebnis = interp(x, y, z) • Oder mit zusätzlichen Parametern interp(x, y, z, xo, yo, ncp, extrap), interp. new(. . . ), interp. old(. . . ) 4
benötigte Eingaben • X Ein Vektor mit der X-Koordinate der Meßpunkte • Y Ein Vektor mit der Y-Koordinate der Meßpunkte • Z Die gemessenen Werte • X 0 X-Koordinaten des Ausgabe-Gitters • Y 0 Y-Koordinaten des Ausgabe-Gitters • Ncp Anzahl der zusätzlichen Punkte, die in der Berechnung der partiellen Ableitung bei jedem Punkt benutzt werden soll • Extrap Sollen nicht definierte Werte ersetzt werden? 5
Implementierung: > werte = read. table('test 0. dat') > werte 1 2 3 4 5 6 7 8 9 10 11 12 13. . . 398 399 400 401 402 403 404 405 406 407 408 409 410 V 1 V 2 78 0 92 0 53 2 118 2 180 2 28 5 172 5 196 5 56 6 92 6 178 6 0 7 124 7 V 3 1 1 0 0 0 1 117 133 174 26 0 2 51 144 155 25 29 97 55 1 1 0 1 1 1 194 194 195 196 196 196 197 197 198 Meßorte Tatsächliche Werte das boolesche Modell: 6
> # Bibliothek laden > library(akima) > # Funktion vom Paket aufrufen und Extrapolation durchführen > # die x, y und z-Koordinaten wurden früher ausgelesen und in ‘werte‘ > # gespeichert > bild =interp. new(werte$V 1, werte$V 2, werte$V 3, extrap=TRUE) > # Bild anzeigen > image(bild, main='geschätzte Werte') Originalbild 7
># ein anderes Fenster öffnen > windows() > image(a) > contour(a, add=TRUE , main='Darstellung mit isolinien') Originalbild 8
2 -2 das Paket Fields - Funktion Tps Anwendung: thin plate spline fitting Aufruf: Ergebnis = Tps(M, z) wobei • M Matrix mit den Meßstellen • z die Meßwerten sind. 9
Implementierung: > library(fields) > tabelle = read. table('test 0. dat') > M = matrix(nc=2, nr=410) > M[, 1]=tabelle$V 1; M[, 2]=tabelle$V 2 > z=tabelle$V 3 > bild = Tps(M, z) ># Anzeigen >surface(bild, type='I', main='thin plate splines regression') Originalbild 10
-Funktion stats Berechnet die allgemeinen Statistiken eines Datensatzes Aufruf: stats(x) wobei x ein Vektor , eine Matrix, oder eine Liste mit den zu bearbeitenden Daten ist. > test = matrix( rnorm(40), nc=4) > test [, 1] [, 2] [, 3] [, 4] [1, ] 0. 8558990 0. 78164733 -0. 3399095 -1. 25745506 [2, ] -0. 7450166 -2. 19926569 2. 0638275 4. 03476790 [3, ] -0. 4670831 -0. 35056298 -0. 0682312 0. 02454136 [4, ] -0. 2473589 -1. 17434882 -1. 7119517 0. 05066576 [5, ] 0. 7765930 -0. 56373543 0. 5910227 -0. 06191312 [6, ] 0. 9452108 0. 62275970 1. 4570585 -0. 34027899 [7, ] -1. 8537570 0. 99369978 0. 9913790 -0. 77783609 [8, ] 0. 2235473 -0. 74028294 -0. 7828707 1. 14223477 [9, ] -0. 3107069 -0. 03890155 -2. 4991293 -0. 37005791 [10, ] 0. 4786146 -1. 10437317 -0. 4329951 -0. 28446861 > stats(test) [, 1] [, 2] [, 3] [, 4] N 10. 00000000 mean -0. 03440577 -0. 3773364 -0. 07317997 0. 21602000 Std. Dev. 0. 87328546 0. 9993411 1. 40467400 1. 47739582 min -1. 85375698 -2. 1992657 -2. 49912925 -1. 25745506 Q 1 -0. 42798903 -1. 0133506 -0. 69540179 -0. 36261318 median -0. 01190584 -0. 4571492 -0. 20407034 -0. 17319087 Q 3 0. 70209839 0. 4573444 0. 89128990 0. 04413466 max 0. 94521081 0. 9936998 2. 06382752 4. 03476790 missing values 0. 00000000 11
2 -3 das Paket spatstat bechäftigt sich mit der räumlichen Statistik • r. Mat. Clust Erzeugt ein zufälliges Punktmodell mit dem Matterncluster prozess Aufruf: r. Mat. Clust(lambda, r, mu, win = owin(c(0, 1), c(0, 1))) Parameter: Lambda : Intensity of the Poisson process of cluster centres. r: Radius parameter of the clusters. mu: Mean number of points per cluster. win: Window in which to simulate the pattern. > library(spatstat) >test = r. Mat. Clust(100, 0. 05, mu=0. 4, win=owin(c(0, 5), c(0, 5))) > plot(test, main=‚Matternclusterprozess') 12
lrpoispp Erzeugt ein zufälliges Punktmodell mit dem homogenen und nicht homogenen Poisson prozess Aufruf: rpoispp(lambda, max, win, . . . ) Parameter: lambda: Intensity of the Poisson process. Either a single positive number, or a `function(x, y, . . . )'. max: An upper bound for the value of `lambda(x, y)', if `lambda' is a function. win: Window in which to simulate the pattern. > pp <- rpoispp(100, win=owin(c(0, 10), c(0, 10))) > plot(pp, main='rpoispp') 13
Außerdem gibt es mittels dem ‘Sjava’ Interface jetzt die Möglichkeit, eine Anbindung von der Sprache java nach R (und umgekehrt ) zu schaffen. Damit kann man z. B. von R aus Graphischen Oberflächen (mittels Java GUIs) darstellen, oder R -Funktionen in einem Java Programm ausführen Dokumentation • Information über die Sprache R und die verfügbare Pakete findet man unter www. r-project. org , • Informationen über das Java-Interface für R findet man unter www. omegahat. org 14
- Slides: 14