Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Wie finde ich auffällige Intervalle in meinen Datensätzen? » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Der letzte Beitrag
rayray Wie finde ich auffällige Intervalle in meinen Datensätzen?

Meine Frage:
Hallo community!
Ich bin neu hier und erkläre mal einfach mein Problem.

Ich habe einen Datensatz, der sich mit Produktionsmonaten und der relativen Häufigkeit beschäftigt (siehe Bild). Ich auf der x-Achse die Produktionsmonate und auf der y-Achse die relative Häufigkeit. Jetzt sind Anstiege und ein Abstiege in diesem Verlauf erkennbar. Mein Ziel ist es, diese Anstiege und Abstiege in ein Intervall zu setzen. Es gibt einige Verfahren, die sich damit beschäftigen eben diese Auffälligkeiten zu bestimmen. Ich habe mich bereits mit dem "Hill-Climbing" Algorithmus auseinander gesetzt und implementiert. Ich bekomme Intervalle, allerdings sind diese nicht gerade super. Jetzt wollte ich diesen Algorithmus erweitern, damit ich bessere Intervalle bekomme. Da ich weder reine Informatikerin noch Mathematikerin bin, wäre ich um jeden Ratschlag und Hilfe sehr dankbar.

Meine Ideen:
So sieht meine Funktion aus, die mir die Intervalle bestimmt. Übergeben werden die Monate und die relative Häufigkeit.


hillclimbing1 <- function(prod.dat.ordered.distinct1,relativeHaufigkeit)

{
res <- c()
val <- relativeHaufigkeit[1]
j <- 1
for (i in 1:length(prod.dat.ordered.distinct1))
{
if(abs(relativeHaufigkeit[i] - val) > abs((val*0.3)))
{
val <- relativeHaufigkeit[i]
res[j] <- i - 0.5
j <- j +1
}
}
return(res)

}

Ein Auszug aus meinem Datensatz:

2012-07-01 0.0000000
2012-08-01 1.1111111
2012-09-01 0.2985075
2012-10-01 0.5141388
2012-11-01 0.0000000
2012-12-01 0.0000000
2013-01-01 0.6849315
2013-02-01 1.9762846
2013-03-01 1.1799410
2013-04-01 0.2881844
2013-05-01 0.2617801
2013-06-01 1.2285012
2013-07-01 1.2285012
2013-08-01 1.3539652
2013-09-01 1.6694491
2013-10-01 2.4000000
2013-11-01 2.5065963
2013-12-01 2.4869110
2014-01-01 2.0497804
2014-02-01 1.4044944
2014-03-01 3.9443155
2014-04-01 2.9748284
2014-05-01 3.0623020
2014-06-01 2.2044088
2014-07-01 2.9686175
2014-08-01 3.1304348
2014-09-01 3.9028621
2014-10-01 2.3942538
2014-11-01 2.9021559
2014-12-01 4.6280992
2015-01-01 3.8616251
2015-02-01 3.0252101
2015-03-01 3.7565740
2015-04-01 4.0977714

rayray hat dieses Bild (verkleinerte Version) angehängt:
Unbenannt.png