0 Daumen
812 Aufrufe

Mein Problem:

Als Beispiel nehmen wir an, es gibt 100 Beobachtungen.

Jede Beobachtung nimmt entweder den Wert 1 oder 0 an (sagen wir mal es ist zufällig, es spielt keine Rolle).

Zudem gibt jede Beobachtung einen Wert zwischen -5,00 und 5,00 an. (auch als Beispiel. könnte auch -10,00 und 10,00 sein). Das soll also Intervallgrenzen darstellen.

Als Ergebnis möchte ich jenes Intervall, welches die Summe der Beobachtungen mit dem Wert 1 maximiert, allerdings im Vergleich zu den Beobachtungen mit dem Wert 0.

Ich bin nicht sicher ob ich das richtig ausgerückt habe. Daher probiere ich es mit einem Beispiel.

1. Beobachtung: Wert x=0,36 Wert y=1

2. Beobachtung Wert x=2,24 Wert y=0

3. Beobachtung Wert x=1,2 Wert y=1

4. Beobachtung Wert x=1,2 Wert y=0

5. Beobachtung Wert x=0,9 Wert y=1

Ergebnis: Intervall 0,36 bis 0,9 wäre optimal. Beobachtung 3 fällt weg, weil Beobachtung 4 diese eliminiert. Wenn allerdings eine weitere Beobachtung, genau so wie Beobachtung 3 vorhanden wäre, würde sie dazu zählen.

Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt und bin gespannt ob man dieses Problem überhaupt in eine mathematische Formel packen kann, damit man für 100 Beobachtungen nicht ewig rechnen muss.


Vielen Dank schonmal vorab.

Avatar von

Leider nicht sehr verständlich...

wenn x bei 1.2 mal y=0 und mal y=1 ist, dann ist es entweder ein Schreibfehler,

oder es soll x(t) und y(t) -> 2 Funktionen mit t = Beobachtungszeitpunkt oder Index sein?

Da x-Werte stark schwanken (in Wert und Reihenfolge) -> wie soll da als Ergebnis eine Intervallgrenze bestimmt werden?

Oder sollen es 2 Arrays sein aX=Array(0.36,2.24,...) und aY=Array(1,0,1,...)

und gesucht ist der Index 2er benachbarter Punkte, die bei aY[i] den Wert 1 haben?

Dein Wort "Beobachtung" wäre dann mathematisch der Index i der Feldvariablen.

Bei Indexanzahl= 100 gibt es doch mehrere mit aY[i]=1 nebeneinander -> welches soll als Ergebnis zählen?

Das erste Vorkommen?

" fällt weg, weil Beobachtung 4 diese eliminiert" ist auch nicht eindeutig ...

Was wenn alle "eliminiert", da ja noch 95 weitere kommen -> gibt es dann kein Ergebnis?

Erst wenn diese Fragen alle geklärt sind, kann man einen Algorithmus basteln (in eine Formel wird man so viele "Sonderwünsche" nicht bekommen).

> im Vergleich zu den Beobachtungen mit dem Wert 0

Wie wird denn verglichen? Mit Subtraktion oder mit Division?

also, entschuldigt bitte meine unkorrekte mathematische schreibweise, ich bin kein Mathematiker, sonst würde ich nicht hier nachfragen, zudem ist das keine Aufgabe aus einem Buch o.ä.

> Wie wird denn verglichen? Mit Subtraktion oder mit Division?

Subtraktion

> wenn x bei 1.2 mal y=0 und mal y=1 ist, dann ist es entweder ein Schreibfehler,

oder es soll x(t) und y(t) -> 2 Funktionen mit t = Beobachtungszeitpunkt oder Index sein?

Genau, t=Beobachtungszeitpunkt (jeden Tag)

Also als Beispiel, x(t1) = -0,5 y(t1)= 1

> Da x-Werte stark schwanken (in Wert und Reihenfolge) -> wie soll da als Ergebnis eine Intervallgrenze bestimmt werden?

Intervallgrenze ist wahrscheinlich das falsche Wort, als Ergebnis möchte ich aus den 100 Beobachtungen den Bereich (z.B. von -1,2 bis 1,0), wo y=1 "maximiert" wird (weiß nicht genau ob maximiert hier das richtige Wort ist). Also auch im Vergleich zu den y=0 Werten. Man könnte es auch so sehen, als wären die y=1 Werte gut und die y=0 Werte schlecht und ich möchte den Bereich wo möglichst viele y=1 Werte und möglichst wenig y=0 Werte vorhanden sind. Das geht aber glaube ich nur, wenn man alle möglichen Kombinationen durchgeht...


Naja danke aufjedenfall für die Antworten/Interesse.

1 Antwort

0 Daumen

Eine Formel wird es wohl nicht geben, aber einen Algorithmus, der als Computerprogramm realisiert werden kann.

Die Differenz aus der Anzahl der y=1-Werte und der y=0-Werte bezeichne ich als Güte des Intervalls.

  1. Jede Beobachtung mit y=1 wird als einelementiges Intervall aufgefasst. Berechne die Güte jedes einzelnen solchen Intervalls (kann 0 sein, z.B. bei x=1,2).
  2. Prüfe für  jedes Intervall ob eine Erweiterung nach links die Güte verbessert. Die Erweiterung verbessert die Güte, wenn bis zum nächsten linken Nachbarn weniger oder gleich viele y=0-Werte auftreten wie die Güte des nächsten linken Nachbarn.
  3. Prüfe auf gleiche Weise für jedes Intervall, ob eine Erweiterung nach rechts die Güte verbessert.
  4. Gehe zurück zu 2 falls neue Intervalle gefunden wurden.
  5. Suche aus den Intervallen das mit der höchsten Güte heraus.
Avatar von 107 k 🚀

Hallo oswald,

vielen Dank für Deine Erläuterung. Damit kann ich wirklich was anfangen, Du hast mich aufjedenfall auf eine Idee gebracht.

Wird wahrschleinlich nicht so leicht sowas zu schreiben aber ich werd es probieren.

Danke nochmals für eure Hinweise.

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community