Wahrscheinlichkeit Ausfall < Stochastik < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 12:15 Di 03.03.2020 | Autor: | Chiko123 |
Aufgabe | Gegeben: Ein Sensor der Teil eines Sensor Netzwerkes ist. |
Hallo,
ich habe folgende Frage:
Ich habe reale Sensordaten von Sensoren, die zu bestimmten Zeitpunkten Daten sammeln.
Ich will nun folgendes tun: Anhand der Timestamps (Datum + Zeit) will ich feststellen, wie hoch die Ausfallrate des Sensors ist:
Meine Überlegung:
1. Zunächst analysiere ich die timestamps, um zu sehen was das Regelintervall des Sensors ist (also in welchen Abständen werden Messungen vorgenommen). Dazu schaue ich, welches Intervall zwischen zwei Timestamps am häufigsten vorkommt
2. Wenn ein Sensor nun diesen Wert überschreitet, werte ich dies als Ausfall
Zusätzlich merke ich mir, wie lange der Sensor ausfällt
Nun meine erste Frage: Wie würdet ihr den Ausfallwahrscheinlichkeit des Sensors berechnen?
Beispiel:
Sensordaten über 1 Monat =30 Tage
Normales Messintervall: 3 Minuten
Ausfälle: 100
Gesamtausfall in Min: 1000
Meine Ideen:
Ich könnte ausrechnen, wie viele Messungen ohne Ausfall in den 30 Tagen vorgenommen werden müssten und wie viele Messungen es dann tatsächlich waren
--> tatsächliche Messungen / Erwartet Messungen
Ich könnte die Downtime / Gesamtzeitraum rechnen
Was meint Ihr dazu, was am meisten Sinn macht?
Desweiteren benutze ich eine Simulation bei dem jedem Sensor ein Script zugewiesen ist:
Nehmen wir jetzt an ein Sensor hat eine Ausfallwahrscheinlichkeit von 0.1 %
ich ziehe also random eine Zahl zwischen 1- 1000, wenn die gezogene Zahl 1000 ist , fällt der Sensor aus --> 0,1%
Das Problem, das Skript läuft alle 10 Sekunden wieder, also z.B. in einer Stunde 360x
--> Ich weiss jetzt nicht, wie ich den Ausfall unter Berücksichtigung der Zeit ausrechne :/
Ich hoffe alles ist soweit verständlich, ansonsten natürlich gerne Rückfragen :)
LG Chiko
|
|
|
|
Es sind etliche Dinge unklar, so dass eine "vernünftige" Antwort so nicht möglich ist:
> Gegeben: Ein Sensor der Teil eines Sensor Netzwerkes ist.
> Hallo,
>
> ich habe folgende Frage:
> Ich habe reale Sensordaten von Sensoren, die zu bestimmten
> Zeitpunkten Daten sammeln.
>
> Ich will nun folgendes tun: Anhand der Timestamps (Datum +
> Zeit) will ich feststellen, wie hoch die Ausfallrate des
> Sensors ist:
> Meine Überlegung:
> 1. Zunächst analysiere ich die timestamps, um zu sehen
> was das Regelintervall des Sensors ist (also in welchen
> Abständen werden Messungen vorgenommen). Dazu schaue ich,
> welches Intervall zwischen zwei Timestamps am häufigsten
> vorkommt.
Heißt das: Der Sensor führt alle 3 Minuten eine Messung durch, die selber aber jeweils nur ein paar Sekunden dauert?
Welchen Grund gäbe es dann für verschieden lange Messzeiten? Oder ist drei Minuten der Durchschnittsabstand zwischen zwei Messungen? Wer veranlasst dann di Messung? Ein Computerprogramm oder ein äußerer Reiz?
> 2. Wenn ein Sensor nun diesen Wert überschreitet, werte
> ich dies als Ausfall
Warum? Nehmen wir an, die Zeitwerte sind (in Sekunden oder Millisekunden) 10, 10, 11, 11, 12, 12, 13, 13, 14, 14.
Dann ist der Durchschnitt 12. Also siehst du fast die Hälfte der Messungen als Fehlmessungen an, und es bleiben nur 10, 10, 11, 11, 12, 12. Da die anderen ja Fehlmessungen waren und eigentlich gar nicht mit einbezogen werden dürften, ist der Durchschnitt der nun gültigen Messungen aber 11. Also kappst du wieder der 12 usw. Zum Schluss bleibt nur der kleinste Wert übrig.
Zu einem Durchschnittswert von nicht alles gleichen Werten gehören immer Werte über und unter dem Durchschnitt. Sinnvoll wäre höchstens, eine maximale Abweichungsgrenze vom Durchschnitt festzulegen und alle zu starken Abweichungen davon auszuklammern.
Falls die Messung durch einen äußeren Reiz erzeugt wird (z.B. Temperaturänderung), liegt vielleicht keine Fehlmessung vor, sondern ein Fehlen des äußeren Reizes (Temperatur hat sich nicht geändert).
> Zusätzlich merke ich mir, wie lange der Sensor
> ausfällt
>
> Nun meine erste Frage: Wie würdet ihr den
> Ausfallwahrscheinlichkeit des Sensors berechnen?
>
> Beispiel:
> Sensordaten über 1 Monat =30 Tage
> Normales Messintervall: 3 Minuten
> Ausfälle: 100
> Gesamtausfall in Min: 1000
>
> Meine Ideen:
> Ich könnte ausrechnen, wie viele Messungen ohne Ausfall
> in den 30 Tagen vorgenommen werden müssten und wie viele
> Messungen es dann tatsächlich waren
> --> tatsächliche Messungen / Erwartet Messungen
> Ich könnte die Downtime / Gesamtzeitraum rechnen
>
>
> Was meint Ihr dazu, was am meisten Sinn macht?
>
> Desweiteren benutze ich eine Simulation bei dem jedem
> Sensor ein Script zugewiesen ist:
>
> Nehmen wir jetzt an ein Sensor hat eine
> Ausfallwahrscheinlichkeit von 0.1 %
>
> ich ziehe also random eine Zahl zwischen 1- 1000, wenn die
> gezogene Zahl 1000 ist , fällt der Sensor aus --> 0,1%
Falls du dich mit der random-Fkt. nicht genau auskennst: Vorsicht! Manche random-Funktionen geben bei random(1000) die Zahlen von 0 bis 999 wieder. Nim als Fehlmessung einfach die Zahl 500 statt 1000, dann bist du auf der sicheren Seite.
>
> Das Problem, das Skript läuft alle 10 Sekunden wieder,
> also z.B. in einer Stunde 360x
>
> --> Ich weiss jetzt nicht, wie ich den Ausfall unter
> Berücksichtigung der Zeit ausrechne :/
>
>
> Ich hoffe alles ist soweit verständlich, ansonsten
> natürlich gerne Rückfragen :)
>
> LG Chiko
>
>
Vorschlag: Eine Fehlmessung ist eine Fehlmessung, egal, wie lange sie dauert. Also:
Ausfallw. = Anzahl der Ausfälle/Anzahl aller Messungen (auch der Ausfälle).
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 14:29 Di 03.03.2020 | Autor: | Chiko123 |
> Es sind etliche Dinge unklar, so dass eine "vernünftige"
> Antwort so nicht möglich ist:
>
>
>
>
> > Gegeben: Ein Sensor der Teil eines Sensor Netzwerkes ist.
> > Hallo,
> >
> > ich habe folgende Frage:
> > Ich habe reale Sensordaten von Sensoren, die zu
> bestimmten
> > Zeitpunkten Daten sammeln.
> >
> > Ich will nun folgendes tun: Anhand der Timestamps (Datum +
> > Zeit) will ich feststellen, wie hoch die Ausfallrate des
> > Sensors ist:
> > Meine Überlegung:
> > 1. Zunächst analysiere ich die timestamps, um zu sehen
> > was das Regelintervall des Sensors ist (also in welchen
> > Abständen werden Messungen vorgenommen). Dazu schaue ich,
> > welches Intervall zwischen zwei Timestamps am häufigsten
> > vorkommt.
>
> Heißt das: Der Sensor führt alle 3 Minuten eine Messung
> durch, die selber aber jeweils nur ein paar Sekunden
> dauert?
> Welchen Grund gäbe es dann für verschieden lange
> Messzeiten? Oder ist drei Minuten der Durchschnittsabstand
> zwischen zwei Messungen? Wer veranlasst dann di Messung?
> Ein Computerprogramm oder ein äußerer Reiz?
Genau. Der Sensor führt alle 3 Minuten eine Messung durch (gesteuert durch ein Computerprogramm). Die Messung selber dauert nur wenige Millisekunden
Der Timestamp gibt an, wann die Messung startet.
Wenn jetzt zwischen zwei Timestamps mehr als 3 Minuten liegt, bedeutet es, dass der Sensor ausgefallen ist (z.B. Batterie leer, Fehler im Programm)
> > 2. Wenn ein Sensor nun diesen Wert überschreitet, werte
> > ich dies als Ausfall
>
> Warum? Nehmen wir an, die Zeitwerte sind (in Sekunden oder
> Millisekunden) 10, 10, 11, 11, 12, 12, 13, 13, 14, 14.
> Dann ist der Durchschnitt 12. Also siehst du fast die
> Hälfte der Messungen als Fehlmessungen an, und es bleiben
> nur 10, 10, 11, 11, 12, 12. Da die anderen ja Fehlmessungen
> waren und eigentlich gar nicht mit einbezogen werden
> dürften, ist der Durchschnitt der nun gültigen Messungen
> aber 11. Also kappst du wieder der 12 usw. Zum Schluss
> bleibt nur der kleinste Wert übrig.
Da habe ich mich wohl falsch ausgedrückt: Ich würde alle Zeitintervalle zwischen Timestamps betrachten also z.B. zwischen 1 Timestamp und 2 Timestamp liegen 3 Minuten, zwischen 2. und 3. 4 Minuten und zwischen 3. und 4. Timestamp wieder 3 Minuten
Dann würde ich schauen, welches Intervall am häufigsten vorkommt (indiesem Minibeispiel also 3 Minuten.
> Zu einem Durchschnittswert von nicht alles gleichen Werten
> gehören immer Werte über und unter dem Durchschnitt.
> Sinnvoll wäre höchstens, eine maximale Abweichungsgrenze
> vom Durchschnitt festzulegen und alle zu starken
> Abweichungen davon auszuklammern.
Das ist eine gute Idee :)
> Falls die Messung durch einen äußeren Reiz erzeugt wird
> (z.B. Temperaturänderung), liegt vielleicht keine
> Fehlmessung vor, sondern ein Fehlen des äußeren Reizes
> (Temperatur hat sich nicht geändert).
>
> > Zusätzlich merke ich mir, wie lange der Sensor
> > ausfällt
> >
> > Nun meine erste Frage: Wie würdet ihr den
> > Ausfallwahrscheinlichkeit des Sensors berechnen?
> >
> > Beispiel:
> > Sensordaten über 1 Monat =30 Tage
> > Normales Messintervall: 3 Minuten
> > Ausfälle: 100
> > Gesamtausfall in Min: 1000
> >
> > Meine Ideen:
> > Ich könnte ausrechnen, wie viele Messungen ohne
> Ausfall
> > in den 30 Tagen vorgenommen werden müssten und wie viele
> > Messungen es dann tatsächlich waren
> > --> tatsächliche Messungen / Erwartet Messungen
> > Ich könnte die Downtime / Gesamtzeitraum rechnen
> >
> >
> > Was meint Ihr dazu, was am meisten Sinn macht?
> >
> > Desweiteren benutze ich eine Simulation bei dem jedem
> > Sensor ein Script zugewiesen ist:
> >
> > Nehmen wir jetzt an ein Sensor hat eine
> > Ausfallwahrscheinlichkeit von 0.1 %
> >
> > ich ziehe also random eine Zahl zwischen 1- 1000, wenn die
> > gezogene Zahl 1000 ist , fällt der Sensor aus --> 0,1%
>
> Falls du dich mit der random-Fkt. nicht genau auskennst:
> Vorsicht! Manche random-Funktionen geben bei random(1000)
> die Zahlen von 0 bis 999 wieder. Nim als Fehlmessung
> einfach die Zahl 500 statt 1000, dann bist du auf der
> sicheren Seite.
Sehr guter Hinweis, danke :)
> > Das Problem, das Skript läuft alle 10 Sekunden wieder,
> > also z.B. in einer Stunde 360x
> >
> > --> Ich weiss jetzt nicht, wie ich den Ausfall unter
> > Berücksichtigung der Zeit ausrechne :/
> >
> >
> > Ich hoffe alles ist soweit verständlich, ansonsten
> > natürlich gerne Rückfragen :)
> >
> > LG Chiko
> >
> >
>
> Vorschlag: Eine Fehlmessung ist eine Fehlmessung, egal, wie
> lange sie dauert. Also:
>
> Ausfallw. = Anzahl der Ausfälle/Anzahl aller Messungen
> (auch der Ausfälle).
Das verstehe ich nicht ganz
Nehmen wir an ich habe eine Zeitspanne von 1 Stunde. Der Sensor macht jede Minute eine Messung. Also würden es 60 Messungen sein
Nehmen wir jetzt an der Sensor fällt aus und "verpasst" 10 Messungen
Also hätt er 50/60 Messungen vollzogen --> 1- 50/60 = 17,3% Ausfallrate
Meinen Sie das so?
Und wissen Sie, wie ich den Zeitfaktor mit einbeziehe, wenn dieses Skript z.B. 360x die Stunde läuft, ich aber trotzdem z.B. nur 0,1% Wahrscheinlichkeit für einen Ausfall haben will
Vielen Dank für Ihre Mühe :)
LG Chiko
|
|
|
|
|
Zunächst: Wir duzen uns hier alle im Forum.
> > Es sind etliche Dinge unklar, so dass eine "vernünftige"
> > Antwort so nicht möglich ist:
> >
> >
> >
> >
> > > Gegeben: Ein Sensor der Teil eines Sensor Netzwerkes ist.
> > > Hallo,
> > >
> > > ich habe folgende Frage:
> > > Ich habe reale Sensordaten von Sensoren, die zu
> > bestimmten
> > > Zeitpunkten Daten sammeln.
> > >
> > > Ich will nun folgendes tun: Anhand der Timestamps (Datum +
> > > Zeit) will ich feststellen, wie hoch die Ausfallrate des
> > > Sensors ist:
> > > Meine Überlegung:
> > > 1. Zunächst analysiere ich die timestamps, um zu
> sehen
> > > was das Regelintervall des Sensors ist (also in welchen
> > > Abständen werden Messungen vorgenommen). Dazu schaue ich,
> > > welches Intervall zwischen zwei Timestamps am häufigsten
> > > vorkommt.
> >
> > Heißt das: Der Sensor führt alle 3 Minuten eine Messung
> > durch, die selber aber jeweils nur ein paar Sekunden
> > dauert?
> > Welchen Grund gäbe es dann für verschieden lange
> > Messzeiten? Oder ist drei Minuten der Durchschnittsabstand
> > zwischen zwei Messungen? Wer veranlasst dann di Messung?
> > Ein Computerprogramm oder ein äußerer Reiz?
>
> Genau. Der Sensor führt alle 3 Minuten eine Messung durch
> (gesteuert durch ein Computerprogramm). Die Messung selber
> dauert nur wenige Millisekunden
> Der Timestamp gibt an, wann die Messung startet.
> Wenn jetzt zwischen zwei Timestamps mehr als 3 Minuten
> liegt, bedeutet es, dass der Sensor ausgefallen ist (z.B.
> Batterie leer, Fehler im Programm)
>
Wenn der Sensor danach wieder richtig arbeitet, gibt es für mich eigentlich nur zwei Optionen:
1. Fall: Eine Messung ist ausgefallen. Dann dürfte der nächste timestamp aber erst nach 6 Min. kommen, bei der nächsten Programmanforderung. 4 Minuten wären damit nicht zu erklären.
2. Fall: Der Computer war "abgelenkt" (Update, Virenscanner prüft zu lange, ...) und hat zu spät angefordert. Dann würde ich nicht von einem Sensorausfall sprechen, sondern von einer verspäteten Messung.
> > > 2. Wenn ein Sensor nun diesen Wert überschreitet, werte
> > > ich dies als Ausfall
> >
> > Warum? Nehmen wir an, die Zeitwerte sind (in Sekunden oder
> > Millisekunden) 10, 10, 11, 11, 12, 12, 13, 13, 14, 14.
> > Dann ist der Durchschnitt 12. Also siehst du fast die
> > Hälfte der Messungen als Fehlmessungen an, und es bleiben
> > nur 10, 10, 11, 11, 12, 12. Da die anderen ja Fehlmessungen
> > waren und eigentlich gar nicht mit einbezogen werden
> > dürften, ist der Durchschnitt der nun gültigen Messungen
> > aber 11. Also kappst du wieder der 12 usw. Zum Schluss
> > bleibt nur der kleinste Wert übrig.
>
> Da habe ich mich wohl falsch ausgedrückt: Ich würde alle
> Zeitintervalle zwischen Timestamps betrachten also z.B.
> zwischen 1 Timestamp und 2 Timestamp liegen 3 Minuten,
> zwischen 2. und 3. 4 Minuten und zwischen 3. und 4.
> Timestamp wieder 3 Minuten
> Dann würde ich schauen, welches Intervall am häufigsten
> vorkommt (indiesem Minibeispiel also 3 Minuten.
>
> > Zu einem Durchschnittswert von nicht alles gleichen Werten
> > gehören immer Werte über und unter dem Durchschnitt.
> > Sinnvoll wäre höchstens, eine maximale Abweichungsgrenze
> > vom Durchschnitt festzulegen und alle zu starken
> > Abweichungen davon auszuklammern.
>
> Das ist eine gute Idee :)
>
> > Falls die Messung durch einen äußeren Reiz erzeugt wird
> > (z.B. Temperaturänderung), liegt vielleicht keine
> > Fehlmessung vor, sondern ein Fehlen des äußeren Reizes
> > (Temperatur hat sich nicht geändert).
> >
> > > Zusätzlich merke ich mir, wie lange der Sensor
> > > ausfällt
> > >
> > > Nun meine erste Frage: Wie würdet ihr den
> > > Ausfallwahrscheinlichkeit des Sensors berechnen?
> > >
> > > Beispiel:
> > > Sensordaten über 1 Monat =30 Tage
> > > Normales Messintervall: 3 Minuten
> > > Ausfälle: 100
> > > Gesamtausfall in Min: 1000
> > >
> > > Meine Ideen:
> > > Ich könnte ausrechnen, wie viele Messungen ohne
> > Ausfall
> > > in den 30 Tagen vorgenommen werden müssten und wie viele
> > > Messungen es dann tatsächlich waren
> > > --> tatsächliche Messungen / Erwartet Messungen
> > > Ich könnte die Downtime / Gesamtzeitraum rechnen
> > >
> > >
> > > Was meint Ihr dazu, was am meisten Sinn macht?
> > >
> > > Desweiteren benutze ich eine Simulation bei dem jedem
> > > Sensor ein Script zugewiesen ist:
> > >
> > > Nehmen wir jetzt an ein Sensor hat eine
> > > Ausfallwahrscheinlichkeit von 0.1 %
> > >
> > > ich ziehe also random eine Zahl zwischen 1- 1000, wenn die
> > > gezogene Zahl 1000 ist , fällt der Sensor aus --> 0,1%
> >
> > Falls du dich mit der random-Fkt. nicht genau auskennst:
> > Vorsicht! Manche random-Funktionen geben bei random(1000)
> > die Zahlen von 0 bis 999 wieder. Nim als Fehlmessung
> > einfach die Zahl 500 statt 1000, dann bist du auf der
> > sicheren Seite.
>
> Sehr guter Hinweis, danke :)
>
> > > Das Problem, das Skript läuft alle 10 Sekunden wieder,
> > > also z.B. in einer Stunde 360x
> > >
> > > --> Ich weiss jetzt nicht, wie ich den Ausfall unter
> > > Berücksichtigung der Zeit ausrechne :/
> > >
> > >
> > > Ich hoffe alles ist soweit verständlich, ansonsten
> > > natürlich gerne Rückfragen :)
> > >
> > > LG Chiko
> > >
> > >
> >
> > Vorschlag: Eine Fehlmessung ist eine Fehlmessung, egal, wie
> > lange sie dauert. Also:
> >
> > Ausfallw. = Anzahl der Ausfälle/Anzahl aller Messungen
> > (auch der Ausfälle).
>
> Das verstehe ich nicht ganz
> Nehmen wir an ich habe eine Zeitspanne von 1 Stunde. Der
> Sensor macht jede Minute eine Messung. Also würden es 60
> Messungen sein
>
> Nehmen wir jetzt an der Sensor fällt aus und "verpasst" 10
> Messungen
> Also hätt er 50/60 Messungen vollzogen --> 1- 50/60 =
> 17,3% Ausfallrate
>
> Meinen Sie das so?
Ja.
>
> Und wissen Sie, wie ich den Zeitfaktor mit einbeziehe, wenn
> dieses Skript z.B. 360x die Stunde läuft, ich aber
> trotzdem z.B. nur 0,1% Wahrscheinlichkeit für einen
> Ausfall haben will
>
> Vielen Dank für Ihre Mühe :)
>
Ich habe den Eindruck, dass du nicht die Anzahl der Ausfälle als Maßstb nehmen willst, sondern die Ausfallzeit. Das ist allerdings ganz schön schlitzohrig (sprich: manipuliert) nach dem Motto: "So lügt man mit Statistik!"
Aber sei's drum. Nehmen wir dein Beispiel. 1/6 der Messungen ist ausgefallen. Nehmen wir weiter an, dass eine Messung t Sekunden dauert. Die Manipulation geschieht nun durch Anpassung der Zeit T zwischen den Anfängen der Messungen. 1/6 von t muss zu 1/1000 der Zeit T werden.
Das könnte z.B. so aussehen, dass eine Messung t=6 ms dauert und man jede Sekunde (= 1000 ms) eine neue Messung startet. Probe: Nach 6 s erfolgen 6 Messungen. Davon ist eine ausgefallen. Also hat das System 6 ms lang nicht richtig funktioniert. Das ist genau 0,1 % der Meßzeit.
Meintest du so etwas?
Für dein obiges Zahlenbeispiel ergäbe sich: Auf 360 Messungen kommen 60 Fehlmessungen. Diese sollen 0,1 % der Stunde ausmachen, also 0,1 % von 3600 s = 3,6 s.
Die 3,6 s sollen sich auf 60 Fehlmessungen verteilen, dann müsste eine davon 0,06 s = 60 ms dauern. Du kannst aber technisch einfacher die Abstände zwischen den Messungen festlegen, die Messdauer ist ja vermutlich durch den Sensor und/oder das Programm vorgegeben.
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 23:03 Mi 04.03.2020 | Autor: | Chiko123 |
Hallo,
erstmal vielen dank für deine Antwort.
Ich muss glaube ich noch etwas detaillierter werden, damit du verstehen kannst was ich genau versuche zu erreichen:
Ich habe einige Datensets die Sensordaten beinhalten, wie z.B. die Temperatur oder die Luftfeuchtigkeit.
Jede Messung eines Sensor ist durch einen Eintrag wiedergegeben der z.B. so aussieht:
Eintrag 1: 01.01.2018 15:40:00 23 Grad
Eintrag 2: 01.01.2018 15:45:00 25 Grad
Eintrag 3: 01.01.2018 17:00:00 24 Grad
Für jedes Datenset ist angegeben, dass die Daten nicht vollständig sind, weil der Sensor z.B. ausgefallen ist (Batterie leer, Wartung)
Das heist ich mache eigentlich folgendes:
Ich analysiere die Abstände der Einträge, um zu ermitteln in welchem Intervall der Sensor eine Messung vornimmt.
Ich schaue also, welcher Abstand am häufigsten vorkommt, z.b. in der Regel führt der Sensor alle 5 Minuten eine Messung durch.
Wenn der Sensor nun davon abweicht (mit ein wenig Toleranz eingerechnet), werte ich das als einen Ausfall des Sensors. Zusätzlich ermittle ich die Zeit, wie lange der Sensor keine Messung mehr vorgenommen hat
Ich benötige diese Ausfallrate, um sie auf ein Simulationsprogramm zu übertragen, das ein wireless sensor netzwerk simuliert.
Sprich ich kann mit Hilfe eines Skripts (ein Algorithmus, der dem Sensor zugewiesen ist), den Sensor manipulieren.
Sprich bei jedem Durchlauf des Skripts , baue ich eine Wahrscheinlichkeit ein, dass der Sensor ausfällt.
Mein Problem ist jetzt, dass das Skript alle 10 Sekunden läuft (ist so vorgegeben). Sprich wenn ich eine Ausfallrate von 1% einbaue, hat der Sensor jede 10 Sekunden eine Chance von 1% auszufallen.
Ich muss also irgendwie berechnen, wie ich die Zeitkomponente in das Skript reinprogrammiere.
Wenn ich z.B. in einem Datenset über einen Zeitraum von 1 Monat eine Ausfallrate von 20% habe, muss ich das in dem Skript des Sensors wiederspiegeln (Die Simulation simuliert dann also auch einen Monat).
Meine Idee ist also (auch basierend auf deinen Ausführungen):
- Ich berechne zunächst die tatsächlichen Messungen des Sensors / erwartenden Messungen des Sensors, um eine Ausfallrate zu ermitteln
--> Hier fehlt noch die Zeitkomponente, die berücksichtigt, dass das Skript alle 10 Sekunden läuft
- Ich berechne die durchschnittliche Zeit, die ein Sensor nicht aktiv ist. Dies benötige ich, um zu entscheiden, nach welcher Zeit ein Sensor nach einem Ausfall wieder aktiv wird (Batterie wurde getauscht, Sensor wurde gewartet)
|
|
|
|
|
Wenn ich das Ganze richtig verstanden habe, dürfte die Zeit hierbei keine Rolle spielen. An folgendem Beispiel kannst du erkennen, ob wir uns dabei richtig verstehen.
Nehmen wir an, jeden Monat wird irgendwann ein Batteriewechsel vorgenommen, der 7 Minuten dauert. Nehmen wir weiter an, dass alle 5 Minuten eine Messung erfolgt.
Der Batteriewechsel hat angefangen. Zunächst betrachten wie die Vorgänge in den nächsten 10 Minuten. Eigentlich erwarten wir dafür genau zwei Messungen. Die erste würde in die ersten 5 Minuten fallen. Mit einer W. von 2/5 Fällt sie in die ersten zwei Minuten und damit die zweite ebenfalls noch in den Batteriewechsel. Beide Messungen fehlen also. Mit einer W. von 3/5 fällt die erste Messung in die 3., 4. oder 5. Minute. Dann fällt die zweite Messung nach der 7. Minute, und damit bekommen wir eine gültige Messung. Im Durchschnitt bekommen wir also statt der erwarteten 2 Messungen 3/5*1 Messung, der Anteil ist (3/5)/2 = 0,3 = 30 %.
Fazit: Von der BETRACHTETEN Zeit von 10 Minuten war der Sensor 3 Minuten = 30% der Zeit einsatzfähig und hat dabei durchschnittlich 30 % der erwarteten Messungen geliefert.
Betrachten wir nun statt 10 Minuten die folgenden 20 Minuten. Dann erwarten wir 4 Messungen. Die letzten beiden finden aber auf jeden Fall statt, die ersten beiden wie oben. Das bedeutet: Mit einer W. von 2/5 erhlten wir nun 2 (statt 0) und mit einer W. von 3/5 dann 3 (statt 1) Messungen, macht zusammen 2*2/5+3*3/5=13/5 Messungen im Durchschnitt. Auf 4 erwartete Messungen sind das (13/5)/4=13/20 = 65 % der erwarteten Messungen. Von den 20 Minuten war der Sensor nur zu 13 Minuten einsatzfähig, das sind ebenfalls 65 % der Zeit.
Fazit: Wenn die Störungen nicht von den Messzeiten beeinflusst werden, sondern zufällig erfolgen, ist der Prozentsatz der Mess-Ausfälle gleich dem Prozentsatz der Ausfallzeit. Du kannst diese Überlegungen auch mit anderen Zahlenverhältnissen (statt 5 Min. Messintervall und 7 Min Batteriewechsel) durchführen.
Also kannst du einfach die Störungen durch einen Zufallsgenerator mit 0,1 % Ausfällen simulieren.
Aber: Ich bin von punktuellen Messungen ausgegangen. Nehmen wir an, eine Messung (alle 5 Min. Abstand) würde eine Minute dauern, und jede Störung zu einem Ausfall führen. Dann würde z.B. 1 Sekunde Batteriewechsel schon dazu führen, dass alle in der nächsten Minute beginnenden Messungen ausfallen würden, und nur die von der 2. bis zur 5 Minute beginnenden erfolgreich wären. Dann hättest du 20 % Ausfall bei nur 1/300 Zeitausfall. Du kannst dir selber mal überlegen, ob und wie weit dass Einfluss auf deine Simulationen hätte...
|
|
|
|