Ich habe einen Prototyp einer Maschine, die Teile herstellt.
In einem ersten Test produziert die Maschine Teile und ein binärer Klassifikator sagt mir, dass Teile defekt sind ( , normalerweise und ) und Teile gut sind.d 1 d 1 < N 1 d 1 / N 1 < 0,01 N 1 ≤ 10 4 N 1 - d 1
Anschließend nimmt ein Techniker einige Änderungen an der Maschine vor, um die Anzahl der defekten Teile zu verringern.
In einem zweiten und folgenden Test produziert die modifizierte Maschine Teile und der gleiche binäre Klassifikator (unberührt) sagt mir, dass Teile defekt sind, trotzdem ist ziemlich ähnlich .d 2 d 2 / N 2 d 1 / N 1
Der Techniker möchte wissen, ob seine Änderungen wirksam sind.
Unter der Annahme, dass die Klassifikatoren perfekt sind (ihre Empfindlichkeit beträgt 100% und ihre Spezifität 100%), kann ich einen Proportionstest durchführen (mit R tippe ich einfach prop.test(c(d1,d2),c(N1,N2))
).
Der Klassifikator ist jedoch nicht perfekt. Wie kann ich also die Empfindlichkeit und die Spezifität des Klassifikators berücksichtigen, die beide unbekannt sind, um dem Techniker richtig zu antworten?
quelle
Antworten:
Ich leite dies also aus ersten Prinzipien ab und bin mir daher nicht sicher, ob es richtig ist. Hier sind meine Gedanken:
EDIT: Das war vorher nicht ganz richtig. Ich habe es aktualisiert.
Lassen Sie uns die erwartete Differenz zwischen der tatsächlichen Anzahl der echten Positiven und der vom binären Klassifikator ausgegebenen Anzahl bezeichnen, die wir . Sie können dies messen, indem Sie Ihren Klassifikator auf einem Set mit bekannten Beschriftungen ausführen. Subtrahieren Sie die Anzahl der tatsächlichen Positiven von der Anzahl der vom Klassifizierer erzeugten Positiven und dividieren Sie dann durch , um .d 1 ^ d 1 N αα d1 d1^ N α
Eine Punktschätzung für das tatsächliche Verhältnis fehlerhafter Teile ergibt sich also aus: . Das heißt, die beobachtete Anzahl fehlerhafter Teile, abzüglich der erwarteten Anzahl falsch positiver Ergebnisse plus der erwarteten Anzahl falsch negativer Teile.d1N1^=d1+α∗N1N1
Ebenso istd2N2^=d2+α∗N2N2
Lassen Sie uns jetzt einen Requisitentest durchführen. Im Standard-Prop-Test berechnen wir zuerst das gepoolte Verhältnis, das als Nullwert verwendet wird: . Hier geben wir also unsere Punktschätzungen für und , um zu erhalten: ^ d 1p=p1∗N1+p2∗N2N1+N2 ^d2d1N1^ d2N2^ p=d1+d2+α∗(N1+N2)N1+N2
Und dann ist der Standardfehler nur der übliche:p∗(1−p)∗(1N1+1N2)−−−−−−−−−−−−−−−−−−√
Die Teststatistik ist dieselbe:z=d1N1−d2N2se
Einige Gedanken zur Interpretation:
Das Modell kann imaginäre Werte für Standardfehler erzeugen. Dies geschieht, wenn ist. Dies ist der Fall, wenn die Anzahl der Fehler, die die Klassifizierer voraussichtlich erzeugen, die beobachtete Anzahl überschreitet. Nehmen wir zum Beispiel an, wir erwarten von unserem Klassifikator einen Durchschnitt von 5 Positiven, selbst wenn eine Probe keine Positiven enthält. Wenn wir 4 Positive beobachten, ist es so, als gäbe es kein Signal: Unser Ergebnis ist nicht von dem vom Klassifikator erzeugten Rauschen zu unterscheiden. In diesem Fall sollten wir die Nullhypothese nicht ablehnen, denke ich.p<0
Eine andere Möglichkeit, darüber nachzudenken, besteht darin, dass wir, wenn die Anzahl der fehlerhaften Teile innerhalb der Fehlergrenze für den Klassifizierer liegt, natürlich nicht feststellen können, ob es einen Unterschied gibt: Wir können nicht einmal feststellen, ob Teile defekt sind!
Einbeziehung von Fehlern in die Schätzung von :α
Angenommen, wir möchten ein Konfidenzintervall mit einer Konfidenz von berechnen .h
Hinweis: Oben habe ich einen einseitigen Test angenommen. Sie teilen h durch 2, um die Tatsache zu berücksichtigen, dass Sie zwei unabhängige Hypothesen testen ( sich in dem Intervall, das Sie denken, und die Teststatistik ist ein signifikanter Unterschied). Wenn Sie einen zweiseitigen Test durchführen möchten, teilen Sie stattdessen durch 4.α
quelle
prop.test(7,100)