Vergleiche zu älteren Daten ziehen

I need a proper explanation about:
Wir wollen zu unserem Thema “Wahlprognosen für die Bundestagswahl” auch Vergleiche der Daten zu früheren Prognosen anstellen.

Dazu wollen wir Aussagen treffen wie zB:

“Im Vergleich zur letzten Umfrage vom 3.5.2017 verbesserte/verschlechterte sich die SPD um X Prozentpunkte.”

Wie stellen wir das an?

kritisch hierbei sind:

  1. Eine Property für das Datum der letzten Umfrage
  2. eine Property für die Vokabel “verbesserte/verschlechterte sich”
  3. Eine Property für die Differenz der Prozentpunkte

Vielen Dank schonmal :slight_smile:

Hallo,

habt ihr denn im selben Datensatz Informationen zu früheren Umfragen? Es muss ja alles in einem Datensatz sein, damit ihr das nutzen könnt.

Grüße
Danijela

Hallo :slight_smile:

Ja, den Datensatz würde wir entsprechend anlegen, also einfach noch mehr Daten (von früheren Prognosen) hinzufügen.

Hi!

Genau, Dani hat ja schon erwähnt, dass alle Daten in dem einen Datensatz drin sein müssen.

Dass ihr dann die 3 properties braucht hast du auch schon richtig erkannt. Wobei braucht ihr denn genau Hilfe?
Properties anlegen?
Auf die Daten zugreifen?
Die Properties verknüpfen?
Die Properties im Text benutzen?

Was habt ihr denn bisher mit Properties gemacht?

Wenn du mir etwas genauer beschreibst, wo dein Problem liegt, kann ich dir besser helfen :slight_smile:

Liebe Grüße,
Peter

Wir würden gerne Schritt für Schritt wissen, wie man die Properties anlegt, worauf man dabei achten muss :wink:

Unter https://support.ax-semantics.com/ findet ihr unten “Getting started”, das euch die meisten Grundlagen zu Properties zeigen sollte.

Unter https://support.ax-semantics.com/support-and-service-team findet ihr außerdem die ATML3-Dokumentation, in der ihr alle Funktionen und Einstellmöglichkeiten in einem Training dokumentiert und erklärt findet.

Außerdem gibt es unter https://university.ax-semantics.com/ eine ganze Reihe ganz ausgezeichneter EInführungskurse rund um ATML3.

Bitte seht euch erst einmal diese Materialien durch und versucht selbst auf eine Lösung zu kommen.

Liebe Grüße,
Peter

Danke dafür, aber ich denke soweit sind wir schon. Wir haben ja auch alle Kurse gemacht.

Wir würden nur gerne wissen wie genau diese Properties wie wir sie hier brauchen aussehen müssen… also was da reingeschrieben uns angekreuzt usw werden muss.

Okay, wenn ihr über die Materialien hinaus noch Hilfe braucht, macht bitte hier ein Ticket auf, und gebt am Besten einen Link zum Projekt mit dazu an, dann kann es sich unsere ATML3-Nanny ansehen.

Wie die Properties aussehen, hängt nämlich sehr von den Daten ab, die ihr bearbeitet.

1 Like

Vielleicht sollten wir kurz klären, wie die Daten angeliefert werden sollten, denn das ist ja euer erstes ToDo.
Ich sehe zuerst einmal die Möglichkeit, die Datenfelder, die verglichen werden sollen, in separaten Feldern mit einem Suffix, beispielsweise _lastperiod anzulegen. Es ist herzlich egal, wie es heißt, Hauptsache, ihr zieht es konsequent durch.

Also wäre ein mögiches Datenfeld AfD_lastperiod.

Ich würde dann in der LIST_Parteienwerte_Parteiennamen diese Vorjahreswerte mit aufnehmen, und zwar in jedem Punkt. Ich mache es am Beispiel der AfD mal vor:

So sieht der Node der AfD jetzt aus
{"name": "AfD", "percent": #AfD}

Wir fügen das Datenfeld mit dem Vorjahreswert hinzu und geben ihm den Key lastperiod_percent
{ "name": "AfD", "percent": #AfD, "lastperiod_percent": #AfD_lastperiod}

Jetzt können wir direkt im Node rechnen, wie groß die Veränderung eigentlich ist.
Das Ergebnis legen wir unter dem Key “delta” ab

{ "name": "AfD", "percent": #AfD, "lastperiod_percent": #AfD_lastperiod, "delta": (numeric(#AfD_lastperiod) - numeric(#AfD))}

Das müsst ihr mit jeder Partei einmal machen

Jetzt habt ihr eine Liste, die ihr in einer neuen Property nach Veränderung sortieren könnt (vergleiche LIST_Sortierte_Parteien).
Aus ihr könnt ihr mit neuen Properties Objekte abholen (nach dem Vorbild von MAX_Partei).
Aus denen könnt ihr wiederum Namen, Wert, Vorjahreswert oder Veränderung der Parteien abholen (siehe MAX_Partei_Wert).

Postet gerne die Properties hier, damit wir diskutieren können, ob sie in die richtige Richtung gehen.

Viele Grüße

Frank

Jetzt habe ich doch glatt den Punkt “verbesserte, verschlechterte sich” unterschlagen.
Hier solltet ihr drei Properties anlegen:

Eine holt mit collect() das Delta aus dem Datenobjekt der Partei.
Name: MAX_Partei_Delta
Truth expression: true
Mapping Expression bspw.:
collect([$MAX_Partei], "delta")

Eine fragt nach Verbesserungen:
Name:
MAX_Partei_up
Truth Expression:
$MAX_Partei_Delta < 0
Kleiner Null, weil wir ja die letzte Umfrage minus der aktuellen rechnen. Ein erhöhter Wert gibt uns hier ein negatives Ergebnis zurück.
Vocabulary (noun):
verbesserte sich auf

Eine fragt nach Verschlechterungen:
Name:
MAX_Partei_down
Truth Expression:
$MAX_Partei_Delta > 0
Vocabulary (noun):
verschlechterte sich auf

Damit ihr beides an einer Stelle abrufen könnt, könnt ihr die Properties gruppieren:
Name:
GROUP_MAX_Partei_change
Truth Expression:
true
Mapping Expression:
[$MAX_Partei_up, $MAX_Partei_down]

Wenn ihr die mit Use Group Property... in einem Textcontainer aufruft, steht hier immer etwas mit verbessert oder verschlechtert drin. Damit auch etwas Sinniges kommt, wenn es keine Unterschiede gibt, könnt ihr in diesem Container bei “Alternative Text” noch “erzielte” eintgragen. Das wird dann genommen, falls keine der beiden Properties in der Gruppe wahr wird.

Hallo Frank!

Vielen Dank schonmal dafür. Ich habe soweit alle Schritte ausgeführt bis zum Hinzufügen der Veränderung in die Mapping Expression.

Dann muss ich anschließend neue Properties anlegen verstehe ich das richtig? Also je eine nach Vorbild von LIST_Sortierte_Parteien (mit dieser Mapping Expression: sort(list($LIST_Parteienwerte_Parteiennamen_Pollyvote), “percent”), nur abgeändert statt “percent” “delta” oder?)

eine nach dem Vorbild von MAX_Partei (mit dieser Mapping Expression: first(list($LIST_Gefilterte_Parteien),-1)?, was muss ich da anpassen?)

und eine nach dem Vorbild von MAX_Partei_Wert (mit dieser Mapping Expression: collect([$MAX_Partei], “percent”), hier wieder “percent” in “delta” ändern oder?)

Liebe Grüße
Anna

Und zu deinen Erklärungen zu “verbesserte/verschelchterte sich”:

cih will nicht sagen, dass sie sich auf soundso viel Prozent verbesserte/verschlechterte sondern, um soundso viele Prozentpunkte. macht das einen Unterschied??

Hallo Frank,
ich bekomme bei der Property für die Verbesserungen bei der Truth Expression $MAX_Partei_Delta < 0 folgende Fehlermeldung: 1:17: Vertigo Syntax ERROR: extraneous input '<'
Ich finde allerdings meinen Fehler nicht, kannst Du mir hierbei weiterhelfen?
Vielen Dank schon mal!
Melanie

Hi Melanie,

probier bitte mal, die Variable explizit als Zahl aufzurufen:
numeric($MAX_Partei_Delta) < 0

Lieber Frank,

antwortest du mir noch auf meine Bemerkungen und Fragen? :slight_smile: :slight_smile:

Hallo nochmal, ich habe eine neue Property gebaut und würde gerne wissen, ob die soweit stimmt. Leider wird die Hälfte meiner Properties im Text nicht ausgegeben und ich weiß nicht woran es liegt, deshalb kann ich nicht wirklich überprüfen ob die neu gebaute Property funktioniert :frowning:

Ich will für die zweitstärkste Partei den prozentualen Unterschied von der letzten zur aktuellen Prognose angeben.

Folgende Property habe ich gebaut:

PS: Es wäre ganz super, wenn jemand noch in meinen Account schauen könnte um mal nachzuschauen warum die ganzen Properties nichts ausgeben :frowning: ID 1328, Storytype Anna große Parteien

Hallo Frank,

uns ist gestern aufgefallen, dass hier ein Denkfehler vorliegt…
Der Delta Wert berechnet den Wert der MAX_Partei in der aktuellen Prognose minus deren Wert der vorangegangenen Prognose. Letzterer ist allerdings als Wert der MAX_Partei zum letzten Erhebungszeitpunkt definiert. Falls also zum letzten Zeitpunkt eine andere Partei führte als zum aktuellen, werden Werte verschiedener Parteien in der Berechnung benutzt…

Ihr habt doch in dem Objekt LIST_Parteienwerte_Parteiennamen, wenn ich mich richtig erinnere, den aktuellen Wert der Partei unter “percent” und den vorherigen Wert der selben Partei unter “last_period” abgespeichert.

Wenn ihr das Objekt MAX_Partei da rausholt, habt ihr da drin für diese Partei den gegenwärtigen und den letzten Wert.
Das müsste eigentlich passen.

Was ihr, wenn ich dich richtig verstehe, macht, ist in einer neuen Liste die Werte der letzten Wahlperiode zu sortieren.
Was ihr aber stattdessen machen müsst, ist in der Liste für die aktuelle Periode den Eintrag für die beste, zweitbeste usw Partei zu finden, und aus diesem Eintrag das Feld “lastperiod” zu holen.

LG

Ach tatsächlich! Stimmt ja!
Danke für die Aufklärung :slight_smile:

Hi Anna. Kurze Frage: Wie holst du die Werte der zweitstärkste Partei in einem Property?
Deine Antwort würde mir ganz interessieren für meinen Fall.

Vielen Dank im voraus