Statistischer Test zur Erhöhung der Inzidenz eines seltenen Ereignisses


8

Ich habe simulierte Daten von 2500 Personen bezüglich der Inzidenz einer seltenen Krankheit über 20 Jahre

year number_affected
1   0
2   0
3   1
4   0
5   0
6   0
7   1
8   0
9   1
10  0
11  1
12  0
13  0
14  1
15  1
16  0
17  1
18  0
19  2
20  1

Welchen Test kann ich anwenden, um zu zeigen, dass die Krankheit immer häufiger auftritt?

Bearbeiten: Wie von @Wrzlprmft vorgeschlagen, habe ich eine einfache Korrelation mit Spearman- und auch Kendall-Methoden versucht:

        Spearman's rank correlation rho

data:  year and number_affected
S = 799.44, p-value = 0.08145
alternative hypothesis: true rho is not equal to 0
sample estimates:
      rho 
0.3989206 

Warning message:
In cor.test.default(year, number_affected, method = "spearman") :
  Cannot compute exact p-value with ties
> 



        Kendall's rank correlation tau

data:  year and number_affected
z = 1.752, p-value = 0.07978
alternative hypothesis: true tau is not equal to 0
sample estimates:
      tau 
0.3296319 

Warning message:
In cor.test.default(year, number_affected, method = "kendall") :
  Cannot compute exact p-value with ties

Sind diese für diese Art von Daten ausreichend gut? Der Mann-Kendall-Test unter Verwendung der von @AWebb gezeigten Methode ergibt einen P-Wert von [1] 0,04319868. Die von @dsaxton vorgeschlagene Poisson-Regression ergibt folgendes Ergebnis:

Call:
glm(formula = number_affected ~ year, family = poisson, data = mydf)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.3187  -0.8524  -0.6173   0.5248   1.2158  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)  
(Intercept) -1.79664    0.85725  -2.096   0.0361 *
year         0.09204    0.05946   1.548   0.1217  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 16.636  on 19  degrees of freedom
Residual deviance: 14.038  on 18  degrees of freedom
AIC: 36.652

Number of Fisher Scoring iterations: 5

Die Jahreskomponente ist hier nicht signifikant. Was kann ich endlich schließen? In all diesen Analysen wurde auch die Zahl 2500 (Nennerpopulationszahl) nicht verwendet. Macht diese Zahl keinen Unterschied? Können wir die einfache lineare Regression (Gauß) unter Verwendung der Inzidenz (number_affected / 2500) gegenüber dem Jahr verwenden?


Einige Ressourcen, die Sie möglicherweise nützlich finden: Der US Geological Survey hat online ein Lehrbuch veröffentlicht, Statistical Methods in Water Resources . Das Kapitel über die Trendanalyse, hier deckt Dinge wie der Mann-Kendal Test und wenn Sie könnten es vorziehen , statt Regressionsanalyse durchzuführen. Es zeigt auch, wie Sie mit der Saisonalität umgehen, die für Sie relevant sein kann, wenn Ihre Daten eher vierteljährlich als jährlich sind.
Silverfish

Interessanterweise liefert Scipys Implementierung von Kendalls τ den gleichen Koeffizienten, aber einen drastisch unterschiedlichen p- Wert, nämlich 0,042.
Wrzlprmft

1
In Bezug auf das Poisson-Modell würde ich stattdessen drop1(fit, test="LRT")einen Likelihood-Ratio-Test durchführen, anstatt einen asymptotischen Z- Test für die Poisson-Statistik durchzuführen . ( Wenn Sie dies tun, erhalten Sie einen p- Wert von 0,107, der statistisch immer noch nicht signifikant ist.) Sie müssen die Bevölkerungszahl nicht in die Regression einbeziehen, wenn sie für jedes Jahr gleich ist. Dann spielt es nur noch die Rolle eines Skalierungsfaktors. Aber man sollte es enthalten (mit pro-jährigen Bevölkerung Werte), wie die Bevölkerung in Gefahr wahrscheinlich nicht die 20 Jahre variieren. Fügen Sie einfach offset=log(pop_at_risk)dem glmAnruf hinzu.
Karl Ove Hufthammer

Antworten:


3

Sie können den nicht parametrischen Mann-Kendall-Test verwenden . Für diese Beispieldaten casesund die einseitige Nullhypothese, dass es keinen zunehmenden Trend gibt, können Sie wie folgt in implementieren .

> n<-length(cases)
> d<-outer(cases,cases,"-")
> s<-sum(sign(d[lower.tri(d)]))
> ties<-table(cases)
> v<-1/18*(n*(n-1)*(2*n+5)-sum(ties*(ties-1)*(2*ties+5)))
> t<-sign(s)*(abs(s)-1)/sqrt(v)
> 1-pnorm(t)
[1] 0.04319868

Und lehnen Sie bei 5% zugunsten eines zunehmenden Trends ab.


Wissen Sie zufällig, ob es einen Unterschied zwischen dem Mann-Kendall-Test und dem normalen Signifikanztest für Kendalls τ gibt? Oder ist der Mann-Kendall-Test überhaupt der normale Weg, um Signifikanzwerte für Kendalls τ zu erhalten? Zumindest die Teststatistik unterscheidet sich nur durch einen Normalisierungsfaktor, der nur von der Länge der Zeitreihe abhängt:S=12n(n1)τ.
Wrzlprmft

@Wrzlprmft Dies ist der typische normale Approximations-Signifikanztest bei Vorhandensein von Bindungen. Der Wikipedia-Artikel enthält gute Informationen / Referenzen zu den verschiedenen Anpassungen, die zur Berücksichtigung von Bindungen erforderlich sind.
A. Webb

2

Sie könnten ein sehr einfaches Regressionsmodell anpassen, das nur aus einem Achsenabschnitt und einer Zeitkomponente besteht, und die "Signifikanz" der Zeitkomponente testen. Zum Beispiel könnten Sie Poisson wobei die Anzahl der Vorkommen im Jahr und und prüfen, ob .Yt(λt)Yttlog(λt)=α+βtβ>0


Ich stimme zu, dass eine Poisson-Regression angemessen ist. Und wenn man mehr Daten hätte, könnte man sogar die (logarithmische) Inzidenzrate als nichtlineare Funktion der Zeit anpassen. Ein zusätzlicher Vorteil der Poisson-Regression besteht darin, dass die Anzahl der gefährdeten Personen leicht berücksichtigt werden kann. Und wenn man ist mit der Zeit zu tun, ist dies besonders wichtig, da der (mögliche) Trend in der Häufigkeit , dass wir sehen nur die Wirkung einer zunehmende sein können gefährdet Bevölkerung , nicht eine steigende Inzidenz - Rate . (Zum Beispiel hat die Weltbevölkerung in den letzten zwanzig Jahren um ein Viertel zugenommen.)
Karl Ove Hufthammer

1

Überprüfen Sie einfach, ob Ihre Anzahl neuer Fälle (dh number_affected) signifikant mit der Zeit (dh year) korreliert . Da jede mögliche lineare Abhängigkeit der Ereignisrate zumindest zur Beobachtungsdiskretisierung verzerrt ist, möchten Sie einen rangbasierten Korrelationskoeffizienten verwenden, z. B. Kendalls τ oder Spearmans ρ.


Ich meinte eigentlich Inzidenz, dh number_affected zeigt neue Fälle in diesem Jahr an. Aber Ihre Methode der einfachen Korrelation sollte auch dafür funktionieren.
rnso

@rnso: Ich meinte eigentlich Inzidenz, dh number_affected zeigt neue Fälle in diesem Jahr an. - so habe ich es verstanden und sehe keinen Widerspruch.
Wrzlprmft

1
Ich habe diesen Kommentar abgegeben, da Sie in Ihrer Antwort das Wort "Prävalenz" verwendet haben. Die Prävalenz umfasst auch Fälle aus früheren Jahren (sofern sie nicht verstorben sind). en.wikipedia.org/wiki/…
rnso

@rnso: Ah, Punkt genommen.
Wrzlprmft

1
Korrelationsmaße wie Kendalls τ oder Spearman's ρ sind nicht geeignet, da sie für Zufallsvariablen erstellt werden und hier eine der Variablen (Zeit) offensichtlich überhaupt nicht zufällig ist. Siehe z. B. Regressionsstichprobenschemata nicht mit Korrelation zusammenfassen . Außerdem funktionieren die τ- oder Spearman-ρ- Tests von Kendalls nicht sehr gut, da die Daten eine große Anzahl von Bindungen aufweisen. Ein Regressionsansatz wäre besser, z. B. eine Poisson-Regression (mit einer geeigneten Trendfunktion) und ein Likelihood-Ratio-Test.
Karl Ove Hufthammer
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.