Tendenzen berechnen



  • die seite hab ich schon ein paar mal angeschaut und auch den bereihc den du meist genauer gelesen - trotzdem kapier ich da gar nichts

    http://upload.wikimedia.org/math/7/3/7/7372596699eb7059048595674b507fdc.png
    http://upload.wikimedia.org/math/0/d/a/0da5cfeb3a77618cc140df8e3c588839.png
    http://upload.wikimedia.org/math/3/2/8/328e42e460234a0376d07a08065d1867.png
    http://upload.wikimedia.org/math/a/f/a/afa4a7dc6072dc21b2abcdeaf8407781.png
    http://upload.wikimedia.org/math/7/e/5/7e5b5b869e6621d90abd194b3fa37d3a.png

    hae - ich blick gar nichts was wo wie zu berechnen ist

    nach lesen der wiki seite weiss ich weniger als vorher





  • Ich versuchs mal zu vereinfachen. Wenn du nur den Anstieg der Geraden (also deinen Trend) haben willst machst du erstmal folgendes. Aus deiner Wertereihe machst du Wertepaare

    x | y
    -----
    1 | 66.4
    2 | 65.2
    usw.
    dadurch versuchste du jetzt eine Gerade zu legen, die folgende Gleichung erfüllt
    y_i=ax_i+by\_i=ax\_i+b
    Dabei bildet a den Anstieg deiner Geraden. i ist der Laufindex. N sei die Anzahl der Werte.
    Jetzt kann man folgendes schreiben

    S=i=1N(ax_i+by_i)2S=\sum_ {i=1}^{N}(ax\_i+b-y\_i)^2

    Das ist die Summe der Quadrate der Abweichungen deiner Punkte von den Werten der Geraden.
    Wenn S ein Minimum für gewählte Werte von a und bildet, hast du deine optimale Gerade. Das Minimum bekommt man, indem man diese Gleichung nach a und nach b ableitet und die beiden entstehenden Gleichungen 0 setzt. Jetzt haben wir einfach zwei Gleichungen mit zwei Unbekannten. Die mußt du nur noch nach a bzw. b auflösen.
    Für dich ist hier nur a interessant. Dabei kommt folgendes heraus

    a=Nx_iy_ix_iy_iNx_i2(x_i)2a=\frac{N\sum{x\_iy\_i}-\sum{x\_i}\sum{y\_i}}{N\sum{x\_i^2}-(\sum{x\_i})^2}

    So, dies mußt du jetzt nur noch programmieren.

    Ciao



  • eventuell sei dazu gesagt das ich diese mathematischen zeichen nicht erkenn was es bedeuten soll
    (was bedeutet es wenn an a oder i unten noch ein kleines i angezeigt wird ?)

    ich versuch mal die erste rechnung zu entziffern, hoff das ich es richtig verstehe

    i = index
    a = wert
    b = naechster wert
    y = position auf der y achse

    yi = (a*(i*i) + b) ??

    angenommen die werte sind wie beschrieben:

    x | y
    -----
    1 | 66.4
    2 | 65.2

    dann bedeutet das
    y1 = (66.4*(1*1) + 65.2) // ?? hae - kann nicht sein



  • i ist ein Index wie in einem Array. Also

    x1 = 1 y1 = 66.4
    x2 = 2 y2 = 65.2
    usw.
    a ist der Anstieg der Geraden
    axiax_i bedeutet a*xi
    Bevor die Frage kommt. Das große Sigma ist das Summenzeichen.



  • was meinst du mit anstig der geraden (a)?

    also was ich grad so denke

    yi = position fuer Y an stelle i

    a = unbekannt
    x = unbekannt
    i = aktuelle anzahl (position, stelle)
    b = unbekannt

    also
    yi = a*xi + b
    sieht fuer mich aus wie eine rechnung mit nur unbekannten - oder wenn ich davon ausgehe das
    a = derzeitige i wert
    b = naechster wert
    x = nummer i
    das ergibt

    yi = 66.4 * i + 65.2 ??



  • Braunstein schrieb:

    a=Nx_iy_ix_iy_iNx_i2(x_i)2a=\frac{N\sum{x\_iy\_i}-\sum{x\_i}\sum{y\_i}}{N\sum{x\_i^2}-(\sum{x\_i})^2}

    ich seh grad, ich muss erst a errechnen - weiss nur nicht wie ich diese grafik interpretieren soll



  • irgendwo habe ich noch einen denkfehler

    ich rechne dieses hier um auf a zu kommen
    a = (((anzahl * (xi * yi)) - (xi * yi)) / ((anzahl * (xi*xi)) - (xi*xi)))

    bei der tabelle komm ich darauf:

    x   y      a
    1   65.6   32.8
    2   64.2   32.1
    3   66.4   3322
    

    die a waerte sind zwar schon sehr nah zusammen alle - aber wenn ich diese verbinden wuerde - wuerde das doch keine gerade ergeben

    darum, was mach ich nun mit a nachdem ich dieses errechnet habe ?



  • Du hast keine Summe gebildet

    x_iy_i\sum{x\_iy\_i}ist die Summe aller Produkte xi*yi.

    Oder mal als Code wenn diese Summe mal K heißen soll

    double x[3] = { 1, 2, 3};
    double y[3] = { 65.6, 64.2, 66.4};
    double K(0);
    for( size_t i=0; i<3; ++i)
    {
       K += x[i] * y[i];
    }
    


  • hei vielen dank - ich werd versuchen mich weiter durch zu beissen {=



  • geschafft - gestern abend hatts auf einmal klick gemacht und ich hab die formel genau erkannt,
    hab mit papier und bleistift ein paar proben gemacht mit einfachen werten - und sieh da - eine sehr schoene gerade die gut eine tendenz darstellt - perfekt

    vielen dank dafuer {=


Anmelden zum Antworten