Hilfe kann die Aufgabe nicht weiter lösen?

3 Antworten

Ich möchte an Aufgabe (b) etwas anders herankommen. Ich komme auf ein anderes Ergebnis zu [Fuloli].

SCHRITT 1. Betrachte eine Gruppe von k Personen. Sei R die Zufallsvariable, gleich der Anzahl der Erkrankten von diesen k Personen. Bezeichne mit E das Ereignis:

E ::= ein Erkrankter erwischt wird bei erster Runde

Gegeben R=r ist die Wahrscheinlichkeit dafür, dass beim Testen einer einzigen Person ein Erkrankter erwischt wird gleich r/k. Darum gilt

ℙ[E] = 𝔼[1_E] = 𝔼[𝔼[1_E|R]] = 𝔼[R/k] = 𝔼[R]/k
alternativer Rechenweg:
ℙ[E] = ∑ ℙ[R=r]·ℙ[E|R=r] = ∑ℙ[R=r]·r/k = 𝔼[R]/k

Nun ist die Verteilung von R gegeben durch R ~ Bin(k, p), wobei p=0,1%. Bei binomisch verteilten Variablen weiß man schon 𝔼[R] = k·p. Darum gilt:

ℙ[E] = k·p / k = p

Insbesondere hat man ℙ[X=1] = ℙ[~E] = 1–p = 99,9% und ℙ[X=k+1] = ℙ[E] = p = 0,1%.

SCHRITT 2. Daraus folgt (für eine jede Gruppe): es sei X=#getestete Personen, dann

𝔼[X] = ℙ[E]·𝔼[X| E] + ℙ[~E]·𝔼[X|~E]
= p·(k+1) + (1–p)·1
= k·p + 1.

SCHRITT 3. Für die ganze Gruppe gilt Folgendes. Seien X⁽¹⁾, X⁽²⁾, … ,X⁽ᵐ⁾ die Zufallsvariablen, die die Anzahl der getesteten pro Teilgruppe bezeichnen. Hierbei gilt m=n/k die Anzahl der Gruppen. Sei

G := Anzahl der getesteten in der Gesamtgruppe
= ∑ X⁽ⁱ⁾ Summe über i∈{1;2; … ;m}

Dann gilt

𝔼[G] = 𝔼[∑ X⁽ⁱ⁾]
= ∑ 𝔼[X⁽ⁱ⁾]
= ∑ (k·p+1)
= m·(k·p+1)
= mk·p + m
= n·p + m da m = n/k.
= 100·0,1% + 10 = 10,1 Personen.

Ansonsten wären ansonsten gleich alle n = 100 Personen ausgetestet. Man spart sich somit im Schnitt das Testen von n–(n·p+m) = n·(1–p)–m = 89,9 Personen.

kreisfoermig  22.09.2016, 10:48

Falls es dich interessiert: bezeichne mit F⁽¹⁾, F⁽²⁾, …, F⁽ᵐ⁾ die Ereignisse „Fehler gemacht beim Testen“ bei Gruppen 1, 2, …, m und mit F das Ereignis „Fehler gemacht bei der Gesamtgruppe“.

Betrachte eine beliebige Gruppe i. Gegeben R=r Erkrankte, wobei 0<r≤k, begeht man einen Fehler, wenn man keinen Erkrankten bei der ersten Runde vom Testen erwischt (da man dann fälschlicherweise alle als gesund einstuft, während es r>0 Erkrankte gibt); und man begeht keinen Fehler, wenn man einen Erkrankten erwischt, da man dann die zweite Runde des Testens durchführt und jeden einzelnen überprüft (man gehe davon aus, der Test ist fehlerfrei). Darum gilt:

 ℙ[F⁽ⁱ⁾|E⁽ⁱ⁾ & R=r] = 0      
ℙ[F⁽ⁱ⁾|~E⁽ⁱ⁾ & R=r] = 1
also ℙ[F⁽ⁱ⁾|R=r] = 1·ℙ[~E⁽ⁱ⁾|R=r] = 1–p

für 0<r≤k. Außerdem gilt

    ℙ[F⁽ⁱ⁾| R=0] = 0,

da man niemals bei der Stichprobe einen Fehler macht, wenn niemand krank ist. Daraus ergibt sich:

ℙ[F⁽ⁱ⁾] = ∑ ℙ[R=r]·ℙ[F⁽ⁱ⁾|R=r]
= ∑ ℙ[R=r]·(1–p) – ℙ[R=0]·(1–p)
= (1–p)·(1-(1–p)ᵏ)
≈ 0,99452%.

Für die Gesamtgruppe gilt nun

ℙ[~F] = ℙ[~F⁽¹⁾ ⋀ ~F⁽⁰⁾ ⋀ …  ⋀ ~F⁽ᵐ⁾]
= ∏ℙ[~F⁽ⁱ⁾]
= ∏ [1 – (1–p)·(1-(1–p)ᵏ)]
= [1 – (1–p)·(1-(1–p)ᵏ)]ᵐ

da die Ergebnisse bei den Teilgruppen paarweise unabhängig sind. Darum gilt

ℙ[F] = 1 – [1 – (1–p)·(1-(1–p)ᵏ)]ᵐ
= 1 – [1 – (1–0,1%)·(1–(1–0,1%)¹⁰)]¹⁰
9,5117%.

Darum spart man zwar viel am Testen, begeht man aber dabei mit einer hohen Wahrscheinlichkeit (9,5117%) einen Fehler.

================================

P. S: die Berechnungen (auch für (a)+(b)) sind noch verzwickter, wenn man nicht davon ausgeht, der Test sei fehlerfrei.

1
Fuloli  24.09.2016, 11:39

Sorry ich blicke da nicht durch, aber wenn man sich das ganz einfach überlegt: von 1000 ist im Schnitt einer krank. Diese 1000 werden in 100 Gruppen eingeteilt. Der kranke ist in einer Gruppe davon. Man benötigt 100 Tests um herauszufinden, in welcher Gruppe der kranke ist. Dann 10 weitere Tests um innerhalb der Gruppe den Kranken zu finden. Also hat man insgesamt mit 110 Tests den kranken gefunden. Ich vermute deine Rechnung geht irgendwie davon aus, dass man nur einen Test braucht, nachdem man schon  die richtige Gruppe gefunden. Dann bräuchte man nur 101 Tests.

0
kreisfoermig  24.09.2016, 14:24
@Fuloli

So kann man nicht argumentieren. Wenn es klappt, dann nur zufälligerweise. Deine Vorgehensweise ist jedoch nicht gültig. Dein Einwand ist auch sehr vage: wie blickst du nicht durch / bei welchem Schritt denn? Mein Ergebnis inkl. Formel

Erwartungswert = n·p + m,

wobei n=100 und m=100/k mit k=10; wird unabhängig durch [precursor] bestätigt. Wenn du uns beiden widerlegen kannst, dann mach schon. In meinem Beitrag wurde die Formel ausführlich hergeleitet. Du brauchst es nur, eines der Kettenglieder zu brechen.

0
Fuloli  24.09.2016, 15:40
@kreisfoermig

keinen schritt ehrlich gesagt. Zu viele Variablen für ein einfaches Problem


ℙ[E] = 𝔼[1_E] = 𝔼[𝔼[1_E|R]] = 𝔼[R/k] = 𝔼[R]/k
alternativer Rechenweg:
ℙ[E] = ∑ ℙ[R=r]·ℙ[E|R=r] = ∑ℙ[R=r]·r/k = 𝔼[R]/k


kannst du mit Worten wiedergeben, was du da anstellst?

Desweiteren wäre nett, wenn du mich aufklärst, welche dieser Behauptungen falsch ist:

- 1) Unter 1000 Testpersonen ist im Schnitt einer krank

- 2) teilt man diese 1000 in 100 Gruppen zu 10 ein, ist im Durchschnitt nur in einer Gruppe ein Kranker. In 99 Gruppen sind alle gesund

- 3) Um alle Gruppen ausfindig zu machen, in denen ein Kranker ist, benötigt man 100 Tests. (im Durchschnitt findet man eine "kranke Gruppe")

- 4) Um unter der "kranken Gruppe" die genaue kranke Person festzustellen, benötigt man 10 weitere Tests.

- 5) insgesamt benötigt man im Schnitt also 110 Tests um einen Kranken unter 1000 ausfindig zu machen. (nicht berücksichtigt ist hierbei, dass 2 Kranke in einer 10er Gruppe sein könnten, die Chance ist jedoch unter 0,011%)

- 6) Laut deiner Rechnung benötigt man 1,01 Test pro 10er- Gruppe. Also 101 Tests insgesamt. Dies ist unmöglich, da man schon 100 Tests braucht um nur die Gruppe mit einem kranken ausfindig zu machen. Man hat also 1 Test übrig um unter 10 Personen den Kranken zu finden.

0
kreisfoermig  24.09.2016, 17:35
@Fuloli

Es sind nur 4 (Typen von) Zufallsvariablen: E, R, X⁽ⁱ⁾, G. Der Rest sind lediglich die Parameter aus der Problembeschreibung: n=100 Menschen, k=10 Menschen pro Gruppe, m = n/k =10 Gruppen, p=0,1% die W-keit, krank zu sein.

(¶) Lies doch den davor stehenden Text: Betrachte eine Gruppe von k Personen. Sei R die Zufallsvariable, gleich der Anzahl der Erkrankten von diesen k Personen. Bezeichne mit E das Ereignis: E ::= ein Erkrankter erwischt wird bei erster Runde. Gegeben R=r ist die Wahrscheinlichkeit dafür, dass beim Testen einer einzigen Person ein Erkrankter erwischt wird gleich r/k. Darum gilt

ℙ[E] = ∑ ℙ[R=r]·ℙ[E|R=r] = ∑ℙ[R=r]·r/k = 𝔼[R]/k

Alles wurde doch klar definiert. Die letzte Gleichung ist sehr grundlegend, sie bedarf keiner Erklärung. Nichtsdestotrotz mach ich dies deinetwegen:

…ℙ[E] = ∑ ℙ[R=r]·ℙ[E|R=r]… — man zerlege die W-keit in einfachere Teile. Nichts Kontroveres.

… = ∑ℙ[R=r]·r/k … — wir haben schon im davor stehenden Text argumentiert, dass ℙ[E|R=r] = r/k.

…  = 𝔼[R]/k … — da ∑ℙ[R=r]·r/k = (∑ℙ[R=r]·r) / k und  ∑ℙ[R=r]·r = Erwartungswert von R.

================================

Ich gehe deine Punkte in einem getrennten Beitrag später ein. Zuerst möchte ich jedoch auf ein paar Denkfehler bzw. deine unordentliche Herangehensweise aufmerksam machen:

1. Du arbeitest mit dem, was im Schnitt, passiert. Dies hat keine mathematische Substanz, sondern lediglich unsere Redeweise, wie wir Ergebnisse kommunizieren. Wenn wir davon reden, dass Z=z₀ im Schnitt passiert, meinen wir nicht, dass irgendwie bei generischer Beobachtung Z=z₀ passiert, sondern dass die Rechnung (gewichtete Summe über allen Möglichkeiten ist z₀). Daher kann man nicht einfach so dieses z₀ einsetzen, außer man kann dies rechtfertigen (etwa dadurch, dass man zeigt, alle Berechnungen inkl. Zwischenschritte bestehen aus linearen Gleichungen).

2. Problem 1 führt dazu, dass du den Prozess falsch verstehst. Jede der n Menschen haben jeweils mit W-keit p = 0,1% den Erreger. Du gehst davon aus, man will bloß den „im Schnitt“ Erkrankten erwischen. Das Militär muss außerdem jeden Erkrankten erwischen, nicht bloß einen. Nochmals mathematisch zu betonen: du untersuchst eines der vielen Möglichkeiten, nämlich den Fall, wo genau 1 Mensch erkrankt ist. Pass mal auf, ich zeig dir wie bedeutungslos diese „was im Schnitt passiert“ Phrase ist. Wenn du mit diesem sog. „Schnittfall“ arbeitest, solltest du ja sicher gehen, dass er mit W-keit 1 geschieht? Tut er dies? Nein, sondern mit W-keit:

ℙ = (1000 über 1)p¹(1–p)¹⁰⁰⁰¯¹ ≈ 0,36806

Das heißt, dein Ergebnis stimmt nur 36,81% der Zeit! Das heißt, du hast in deinen Berechnung (modulo der nicht überprüften Bedingungen oben, wo man bei dieser Rechenweise doch rechtfertigt ist) nur 36,81% der Fälle berücksichtigt.

3. Du arbeitest mit n=1000 statt n=100 Menschen. In der OP steht aber

Zur Austestung einer Gruppe von 100 Perosnen wird diese Gruppe in 10 Teilgruppen zu je 10 Personen aufgeteilt wird.

0
Fuloli  24.09.2016, 20:17
@kreisfoermig

Die Redeweise gibt aber genau die Wahrscheinlichkeit an. Wenn ich sage eine Münze zeigt zu 50% Kopf, dann hat sie aus 100 Würfen im Schnitt 50 Kopf. Wenn ich frage wie oft zeigt die Münze 2 mal hintereinander Kopf ist die Antwort im Schnitt 25 von 100 malen. also 25%. Die Wahrscheinlichkeit gibt halt den Durchschnitt an. 

Was du ausgerechnet hast ist, wenn man einmal 1000 Leute untersucht, wie groß die Wahrscheinlichkeit ist, dass genau einer krank ist. Wenn man aber eine Million mal jeweils 1000 Leute untersucht, sind manchmal keiner krank, manchmal 1, manchmal 2 und ganz selten 3. im Durchschnitt ist also tatsächlich genau einer krank, wenn man die jeweiligen Wahrscheinlichkeiten berücksichtigt. 

for i=1:M
      if floor(rand/p)<1
              kr(i)=1; 
      end 
end 

for m=1:M/G
      if sum(kr(G*(m-1)+1:G*m))==0 
             tests=tests+1; 
      else 
             tests=tests+11; 
      end 
end 

Im ersten part wird ein Vektor mit 100 Einträgen geschrieben, jeder Eintrag hat eine Wahrscheinlichkeit von 0,1% eine 1 zu sein, ansonsten ist der  Eintrag 0. Das sind quasi 100 Menschen, 0 heißt gesund und 1 krank.

Im zweiten Part wird 10 mal folgende Abfrage durchgeführt: Sind alle Einträge von 1-10 (11-20 ; 21-30 etc..) eine 0? falls ja zähle einen Test
Falls Alle gesund sind, wurden alle 10 mit einem einzigen Test getestet

falls nicht zähle 11 Tests
Wenn mindestens einer von den 10 krank ist zähle 11 Tests.

Das ganze habe ich 10^6 mal ausführen lassen. im Durchschnitt von 1 millionen tests wurden 10,9934 Tests für 100 Personen benötigt.

0
kreisfoermig  24.09.2016, 20:42

Dann haben wir eben ein Interpretationsproblem. Der Prozess ist mir jetzt nicht klar. Ich ging vom folgenden aus:

1. besuche jede der m=n/k Gruppen; wähle einen der k Leute zufällig aus und teste ihn.
1.1 falls er gesund ist, lass die Gruppe in Ruhe;
1.2 sonst test alle k gründlich.

Mir bereitete dies schon ein Unbehagen: warum testet man den Erkrankten ein zweites Mal?

Dein Verständnis des Prozesses:

1. besuche jede der m=n/k Gruppen; misse quasi die Gruppe als Ganzes;
1.1 falls die Gruppe einen Erreger hat (>0 Erkrankte vorhanden) teste nun jeden einzeln in der Gruppe;
1.2 sonst lasse die Gruppe in Ruhe.

ich sehe ein, dieser Prozess wäre sinnvoller und wäre dieshalb die richtige Interp der Aufgabe ; ) So, nach Anpassung meines Ansatzs kommt raus:

E[G] = m.((1–(1-p)^m).k + 1) = (1–(1-p)^m).n + m = (1–99,9%^10).100 + 10 = … (bin grad ohne Rechner)

0
kreisfoermig  25.09.2016, 01:07
@kreisfoermig

das ^m müsst ^k sein. Die Formel für den zweiten Prozess ist:

𝔼[Gesamtanzahl an Test]
= 𝔼[G]
= m·((1–(1-p)ᵏ)·k + 1)
= (1–(1-p)ᵏ)·n + m
= (1–(1-0,1%)¹⁰·100 + 10
≈ 10.9955 Tests

Deine Simulation nähert sich diesem Ergebnis an und ist vom Aufbau her richtig.

0

Hallo !


Ich habe im Internet recherchiert, die Ergebnisse stammen also nicht von mir.

Auf dieser Webseite habe ich scheinbar eine Kopie der Originalarbeit von Robert Dorfman gefunden -->

http://www.sis.uta.fi/tilasto/liski-arkisto/mtt-perusteet10/mttp-kurssi10/Materiaalia/Dorfman-Ann1943.pdf

Laut Robert Dorfman ist die erwartete Anzahl an chemischen Analysen die benötigt werden gegeben durch -->

X = N / k + N * p

Diese Formel lässt sich schön leicht merken ;-))

In deiner Aufgabe wäre das also -->

100 / 10 + 100 * 0.001 = 10,1

Also sind im Mittel 10,1 Tests für die Gesamtgruppe nötig.

Die Ersparnis an Tests (chemischen Analysen) beträgt also 100 - 10,1 = 89,9 Test

-------------------------------------------------------------------------------------------------------------

Man kann im Internet noch mehr finden -->

https://goo.gl/CgXLKn

https://goo.gl/sdg5zc

Fuloli  24.09.2016, 11:25

Ich glaube du meinst p' und nicht p oder? p' ist die Wahrscheinlichkeit dass jemand in der ganzen Gruppe krank ist. p dass ein einzelner krank ist. Dass in der ganzen Gruppe jemand krank ist , is fast 10 mal wahrscheinlicher. Nämlich 1% oder 0,01

1
Fuloli  24.09.2016, 11:29
@Fuloli

Man könnte es auch so überlegen: von 1000 Menschen ist einer krank im Schnitt. Diese 1000 werden in 100 Gruppen eingeteilt. Von den 100 Gruppen ist in einer der kranke, die anderen 99 Gruppen sind gesund. Nun braucht man 100 Tests um festzustellen, in welcher Gruppe der kranke ist. Dann noch mal 10 Tests für die Gruppe. Also 110 Tests insgesamt anstatt von 1000 Tests. Man spart 890 Tests pro 1000 

1
precursor  24.09.2016, 15:17
@Fuloli

Ich habe die Variablen umbenannt, das ist alles, meine Variablen sind nicht die Variablen von der Webseite. Ich habe ihnen einfach neue Namen gegeben.

0

Also man testet das gemischt Blut von 10 Personen und wenn man den Erreger nicht findet hat sich diese Gruppe mit Einem Test (x=1) erledigt. Findet man den Erreger muss zusätzlich zum mischtest jedes Mitglied einzeln getestet werden also 11 Tests (x=1). 

Die Wahrscheinlichkeit dass jemand gesund ist, ist 99,9%. Die Wahrscheinlichkeit, dass alle 10 gesund sind, ist 99,9*99,9*99,9 usw. 99,9^10=99%. Der Wert ist etwas größer als 99% (99,0045%). Das ist P(x=1), denn wenn alle gesund ist braucht man nur einen Test. Die Wahrscheinlichkeit dass jemand krank ist und man 11 Tests benötigt ist also 100-p(x=1) = 1%. 

Der ewartungswert ist (99*1+1*10)/100 = 109/100=1,09. weil von hundert versuchen, 99 mal x=1 ist und 1 mal x=10, also ist der Durchschnitt 1,09. 

 Man benötigt im Schnitt 1,09 Test um 10 Personen zu testen. Mit der normalen Methode bräuchte man 10 Tests für 10 Personen. Man spart 8,91 Test für 10 Personen also spart man 0,891 Tests pro Person.