Wie sagte Paule? Der Trend geht zum Zweitblog:
Englisch und über langweiligen Mathe-, Statistik- und Programmierkram, daher ist er nun abgetrennt von diesem hier.
Mit ‘Statistik’ getaggte ArtikelZweitblogSonntag, 16. August 2009Wie sagte Paule? Der Trend geht zum Zweitblog: Englisch und über langweiligen Mathe-, Statistik- und Programmierkram, daher ist er nun abgetrennt von diesem hier. Nein, nicht BiostatikMittwoch, 10. Dezember 2008Auch wenn es oft auf unserer Post steht: Wir sind nicht das Institut für Biostatik. Jetzt scheinen sie aber gegen diese häufig vorkommende Verwechslung vorgehen zu wollen:
Citing data – the dataverse network projectSonntag, 02. November 2008Heute mal ein sehr kurzer, oberflächlicher, aber doch sehr wichtiger Beitrag über ein Projekt, das sich mit dem folgenden Problem beschäftigt: Für Artikel und Bücher existieren
Quantitative Daten
UNFUm die Validität von Daten zu gewährleisten, wurde der Universelle Numerische Fingerabdruck (UNF) von Altman & King eingeführt. Dieser Algorithmus wandelt den Datensatz in einen Unicode-Zeichen-String um und wendet eine Hash-Funktion auf diesen an. Neben C++-Bibliotheken steht auch das R-Package UNF ``Tools for creating universal numeric fingerprints for data'' zur Verfügung. (http://cran.r-project.org/web/packages/UNF/index.html) Der Methodenaufruf unf(data, digits=8) berechnet z.B. einen numerischen Fingerabdruck für den Datensatz data, wobei die jeweils ersten acht Stellen der Daten berücksichtigt werden. Der Universelle Numerische Fingerabdruck
Zitieren von DatenMinimal werden beim Zitieren Autor, Jahr und Titel angegeben, gefolgt von einem ``Unique global identifier'', über den die Daten gefunden werden können, sowie den UNF-Wert:
GARY KING; LANGCHE ZENG, 2006, "Replication Data Set for 'When Can History be Our Guide? The Pitfalls of Counterfactual Inference'" hdl:1902.1/DXRXCFAWPK UNF:3:DaYlT6QSX9r0D50ye+tXpA== Murray Research Archive [distributor]
Optionale Zitatelemente wie [producer] oder [distributor] können durch Paare ``Wert [Feldname]'' angehängt werden.
TheData.orgFür das Halten der Daten ist die Dataverse Network OpenSource-Software (http://thedata.org/) frei verfügbar. Als Web Applikation wird für die meisten jedoch kein Grund vorhanden sein, die Software lokal zu installieren, sondern man meldet ein eigenes, sogenanntes "Dataverse" bei einem der Data Repositories an.
Bibliography
CyStats StatisticsSamstag, 01. November 2008Vor einem Monat habe ich das CyStats WordPress Plugin installiert und nun ist es Zeit für eine kleine statistische Auswertung. 31. Oktober 2008: You have approximately 33 visits to your feeds and 271 human visitors to your website today, the average bounce rate is 58.42%, 34 visitors came via search engines. Der Blog läuft seit 516 Tagen mit durchschnittlich 1.06 Beiträgen und 1.95 Kommentaren pro Tag und im Regelfall kommen zwischen 200 und 300 Leute (ohne Bots) zu Besuch. Und was interessierte die Leute am meisten?
Das Plugin listet mir 547 Suchanfragen für diesen Monat (was sehr wenig ist - werden nicht alle angezeigt?). Im folgenden finden sich die häufigsten Suchanfragen, die nicht wie z.B. "Matheaufgabe Tentakeln" nur einmal eintrafen: Wie man sieht war der Tintenfisch-Ausnehmen-und-Braten-Beitrag trotz Kritik meiner Stammleser ein voller Erfolg. Statistische DatenMontag, 15. September 2008Wer gerne mal mit statistischen Daten spielt – hier ein paar Links:
Nicht wundern über den Blogeintrag Btw. (aus Wikipedia – Statistik):
Vortrag in DortmundMontag, 18. August 2008Wir haben in der letzten Woche auf der in Dortmund einen Vortrag gehalten. Einen Vortrag an den man sich erinnern wird… – vielleicht nicht wegen dem Inhalt, sondern weil sich Bernds vorbereiteter Computer im Talk vor uns ausgeschaltet hat. Von unseren 15 Minuten Vortragszeit warteten wir 10 Minuten darauf, dass der Computer startete. Emule, Antivir, Windows Sicherheitscenter, diverse Mediacenter und andere Programme mussten sich erst starten und mit Informationen versorgen, bevor wir endlich mit Folien weitermachen konnten. Trotz allem haben wir zu drei Leuten neuen, vielversprechenden Kontakt bekommen und inhaltlich war der Vortrag trotz allem gut. An uns ran kamen von der Präsentation sonst nur zwei Vorträge: In dem einen wurde nach 3 Minuten Einleitung einfach ein Präsentationsvideo abgespielt und im anderen Vortrag hatte der Vortragende sich so erkältet, dass er die Folien ohne Kommentar durchging. Btw.: Wo kann man in Dortmund sinnvoll übernachten? Ich habe 70€/Nacht für ein Hotel mit dreckigen Handtüchern und ohne WLAN bezahlt! (Wenn ich es selber zahlen müsste, hätte ich sonst in der Uni übernachtet – Ich konnte nicht bei meinem Kollegen übernachten, da wegen Wasserschäden schon seine Freundin notdürftig bei ihm untergekommen war…) Das Hostel in München für 20€/Nacht war in jeder Hinsicht (nagut, es gab kein Frühstück) um Meilen angenehmer… Projekt vorbeiMontag, 14. Juli 2008Das große Projekt bei uns am Institut ist nun vorbei. Vorstellen werden wir das Framework des GUI-Teilprojektes unter dem Titel “Towards a Java Framework for Rapid Development of Graphical User Interfaces for Statistical Applications based on R” auf der UseR im August. Jemand Interesse? Wer kommt uns besuchen?Dienstag, 01. Juli 2008SternenhimmelMittwoch, 14. Mai 2008
Man schaut in den Himmel und nach einiger Zeit erscheinen die Figuren… bloß der Mond ist heute in Wirklichkeit zu hell. @Schmooke: Wo ich gerade bei Projekten war – wann programmieren wir die Stereoskopie-3D-Version von Celestia? Random Correlation MatricesDienstag, 19. Februar 2008One of my colleagues has implemented a new method for evaluating the cumulative distribution function of a multivariate normal distribution and wanted to compare the speed of his method with that of randomized quasi-Monte Carlo methods. A few days ago, while we were going to lunch, he asked me how to generate random correlation matrices, because the speed of his method strongly depends on the correlation matrix and he wanted to have some sort of average. But what is a random correlation matrix? Let's first give a characterization of correlation matrices.
It is well known that for a matrix
if and only if
But what is the right notion of randomness for these matrices? For example let's look at the orthogonal matrices. In many numerical applications we need uniformly distributed random orthogonal matrices in terms of the Haar measure.
Unfortunately in our case there is no clear, natural notion of randomness.
Method 1 - Try and Error: We generate a matrix fulfilling no. 1, 2 and 3 of the characterization (these matrices are called pseudo correlation matrices) by generating independent pseudo-random numbers uniformly distributed between -1 and 1 for the entries
If this random symmetric matrix is positive semidefinite (i.e. all eigenvalues of
random.pseudo.correlation.matrix <-
function(n) {
a <- diag(n)
for(i in 1:(n-1)) {
for(j in (i+1):n) {
a[i,j] <- a[j,i] <- runif(1,-1,1)
}
}
return(a)
}
random.correlation.matrix.try.and.error <-
function(n) {
repeat {
a <- random.pseudo.correlation.matrix(n)
if (min(eigen(a)$values)>=0) return(a)
}
}
This approach is only reasonable for very small dimensions (try it with Method 2 - Lift the Diagonal:
We denote by
So we start again with a pseudo correlation matrix
Unfortunately the diagonal is accentuated and the smallest eigen value is always zero. The second problem we could avoid by adding
make.positive.semi.definite <-
function(a, offset=0) {
(a + (diag(dim(a)[1]) * (abs(min(eigen(a)$values))+offset))) /
(1+(abs(min(eigen(a)$values))+offset))
}
random.correlation.matrix.lift.diagonal <-
function(n, offset=0) {
a <- random.pseudo.correlation.matrix(n)
make.positive.semi.definite(offset)
}
Method 3 - Gramian matrix - my favorite: Holmes [Holmes1991] discusses two principal methods for generating random correlation matrices.
One of them is to generate
To create the
random.correlation.matrix.sphere <-
function(n) {
require("mvtnorm")
t <- rmvnorm(n,rep(0,n),diag(n))
for (i in 1:n) {
t[i,] <- t[i,]/sqrt(t(t[i,])%*%t[i,])
}
t%*%t(t)
}
Conclusion: There are futher methods (like e.g. to generate a random spectrum and then construct the correlation matrix), which are not as easy to implement as the ones described above. But just as the three given methods, they all are unsatisfactory in some way because we don't really know how random correlation matrices should be distributed. For my colleague an average of calculation time does only make sense when he knows which kind of correlation matrices occurs in the applications. He decided to describe and compare the different cases individually. But does it perhaps make sense to use random correlation matrices as test cases or are the special cases more important? For example, random correlation matrices generated with method 1 and 3 are only singular with probability zero. Any critique, comments, suggestions or questions are welcome! And for the next time: Given a correlation matrix C. How do we generate tuples of pseudo-random numbers following a given multivariate distribution with correlation matrix C? Bibliography
|