Zeitreihe Regressionsanalyse Trendberechnung

  • Hallöchen,

    Darf ich mal fragen, ob es für Trendanalyen bzw Regressionsanalysen oder Ähnliches schon eine UDF gibt, die man benutzen kann.

    Ich möchte gern meine Bedarfsplanung optimieren.
    Habe Verbrauchs bzw Abverkaufszahlen und würde daraus gern Trends berechnen.
    Manchmal sind auch Saisonartikel dabei die periodische Schwankungen unterliegen.
    Bei zig Tausend Artikel wäre das eine große Erleichterung.

    :Glaskugel:

  • Diagramme sind ja optional.

    Aber Excel kann es entsprechend darstellen/berechnen.

    Ggf. musst du mit Autoit nur die entsprechenden Daten in die Excel-Datei zur Verfügung stellen.

  • genau und Excel haben. Alles händisch? Makros muß man da auch programmieren. und meine sqlite Datenbanken müssen auch angesprochen werden.


    ne UDF für Trends oder Tendenzen was auch immer, wäre mir lieber.


    :klatschen:

  • von händisch ahbe ich nix gesagt, Makros brauchst du dort auch nicht programmieren...
    Du hast meinen Ansatz wohl nicht verstanden:
    Die Daten (per Autoit) in einer ExcelDatei bereitstellen (aus DB in Excel).
    Die Formeln (per Autoit) in dieser für die Entsprechenden Zellen hinzufügen

    Was du dann mit dem Resultat machst (die Daten daraus wieder holen und in deine DB schreiben oder direkt in Excel einfach anzuzeigen), wäre dann dir überlassen.
    Wenn du natürlich kein Excel hast, wirds schwierig.

    Ich habe und kenne leider keine Einzige Funktion oder UDF die so etwas kann.
    Ansonsten müsste jemand die entsprechenden dafür notwendigen Rechenoperationen in AutoIt umsetzen.

  • Naja eine simple lineare 1D-Regression ist fix dahingerotzt:

    Die Frage ist was du genau unter Regressionsanalyse verstehst.
    Wenn es auch Angaben zur Signifikanz wie R² oder dem F-Test beinhalten soll dann kann man das durchaus auch noch mit implementieren.

    Wirklich eklig wird es dann aber, wenn es auch um allgemeine mehrdimensionale und nichtlineare Regression gehen soll.
    Dann bedarf es hierzu der Ausgleichungsrechnung und das ist eine Sache die ich dir zwar mathematisch durchaus darstellen kann.
    In AutoIt möchte ich das aber nur sehr ungern umsetzen.
    Die Matrizenoperationen in reinem AutoIt sind nicht so schick und da wir ja auch die Inverse einer Matrix benötigen und das am besten auch noch numerisch stabil, dann wären das Cholesky-Verfahren, die QR-Zerlegung und die Singulärwertzerlegung angesagt.
    Und das setze ich definitiv nicht in AutoIt um.
    Sprich: Hier bedarf es externer Bibliotheken (am besten LAPACK), deren Wrapping aber auch nicht unbedingt trivial ist.
    Bereits umgesetzt gibt es die Eigen4AutoIt-Geschichte aber die gefällt mir persönlich nicht, da ich das für völlig überladen halte.

    Also nochmal kurz: Simple lineare Regression: ok - alles darüber: lieber nicht.

    Btw: Ist das nicht die falsche Kategorie? Talk ist eher für allgemeines, nicht AutoIt-spezifisches.

  • Vielen Dank erstmal für die Info.

    Ich schaue es mir mal an.

    Ich weiß auch nicht immer in welcher Kategorie ich posten soll. Meist werde ich dann angepfiffen.

    Dennoch erstmal vielen Dank :thumbup:

  • Naja, würde hier keinen Grund sehen dich anzupfeiffen.

    Du hasteine programmiertechnische (Umsetzungs-) Frage gestellt. Hätte das eher im Hilfe Bereich als im Talk gesehen aber ich habe hier noch nie jemanden gesehen, der deswegen nen Larry macht.
    Max. ein kurzer Hinweis mit der Bitte an nen Mod zum verschieben. Also mach dir dahingehend mal keinen Kopf.

    Und mein Vorschlag kam eben aus dem Grund den AspirinJunkie genannt hat: Es ist halt sehr komplex und nicht mal eben einfach umzusetzen. Mir selber wäre auch das mit der linearen Umsetzung zu hoch gewesen (hab dazu leider keine wirklich gute Doku zu den benötigten Formeln gefunden). Daher mein Vorschlag mit dem kleineren Übel mit dem Umweg über Excel (da mit den Formeln "Schätzer" und "Trend" dort schon alle Grundsteine vorliegen, siehe Link den ich gepostet hatte) .

  • Meine Frage wäre: Was möchtest du konkret aus den Daten herauslesen?
    Soweit ich das verstehe sind die Daten wie folgt: Eintrag1 = [#Artikelnummer1 #Ankaufszahl1 #Verkaufszahl1, #DatumBzwZeitraum1, #WeitereInfos1], ... usw. für tausende Produkte und verschiedene Zeitpunkte/Zeiträume.

    Eine übliche Methode um ein Gefühl für Große Datenmengen zu bekommen ist erstmal die Ansicht verschiedener Scatterplots/Heatmaps (z.B. x-Achse = Datum, y-Achse = Verkaufszahl, Fabcode = Produkttyp. Hier muss man einiges an Kombinationen durchprobieren). Darin ergeben sich dann eindeutige Muster (je nachdem wie man den Plot parametrisiert), die man anschließend weiter auswerten kann.

    Bin aber nicht sicher, ob dir hier AutoIt weiterhelfen kann... Also einen Scatterplot kann man schnell und einfach basteln, aber das kann z.B. Gnuplot ebenfalls (ganz ohne Programmieraufwand). Die "Analyse" wird sich bei AutoIt auch auf lineare Regression einzelner Plotabschnitte beschränken (siehe oben), der Informationsgewinn hält sich dabei aber in Grenzen. Den Trend erkennt man ja schon am Plot.

    Edit: Falls du Trends extrapolieren willst wird es auch eher knifflig und ich vermute da bist du bei Machine-Learning-Leuten besser aufgehoben. Die kennen sich mit Voodoo aus :D

    lg
    M