Donnerstag, 18. April 2024, 11:04 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

21

Montag, 7. Juli 2008, 20:58

Hallo Chris,

ich habe die Standard-Implementierung von Weka (aktuelle Entwicklerversion 3.5.7) verwendet. In der sind die Kernels:
RBFKern
  • el() radial basis function: exp(-gamma*|u-v|^2)
    Puk() universal Pearson VII function based kernel
    PolyKernel() Polynominal Kernel
    Normalize
dPolyKernel() + normalized

Für die Zeitreihenanalyse ist keiner von denen optimiert. Doch ist dies weniger ein "Problem" des Kernels sondern vielmehr des Verfahrens SVM. Der Kernel wird zur Abbildung der "Trennung" der Bereiche verwendet - analog zu einer Regressionsgeraden durch eine Punktemenge. Nur, dass durch den Kernel die Trennung keine Gerade ist.

Spezielle Verfahren zur Zeitreihenanalyse wie z.B. ARIMA arbeiten nach anderen Verfahren. Nur, mit denen habe ich noch keine guten Ergebnisse erzielt. Und, in Weka sind diese darüber hinaus nicht verfügbar.

Viele Grüße

Martin

Registrierungsdatum: 29. Dezember 2007

Beiträge: 297

Wohnort: Bad Homburg

22

Dienstag, 8. Juli 2008, 08:50

Hallo Martin,

danke für deine Antwort!



Zitat

... Spezielle Verfahren zur Zeitreihenanalyse wie z.B. ARIMA arbeiten nach anderen Verfahren. Nur, mit denen habe ich noch keine guten Ergebnisse erzielt

Das ist ganz erstaunlich! Ich hatte mir mal die Diplomarbeit betreut vom NRCM durchgelesen und nach deren Ausführungen hätte ich etwas anderes erwartet...

Liegt es vieleicht an technischen Problemen oder zeigen Zeitreihenoptimierte SVNs generell kein signifikant besseres Verhalten?
Grüße,

Christian

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

23

Dienstag, 8. Juli 2008, 13:37

Hallo Chris,

kannst du mir die Diplomarbeit vielleicht mal zukommen lassen, dann kann ich schauen, wie sich das dort untersuchte Modell zu den Standardmöglichkeiten von Weka verhält.

Mit ARIMA (und ähnlichen Verfahren) meine ich übrigens explizit für Zeitreihenanalyse gedachte Verfahren (
Auszug aus Wiki (http://de.wikipedia.org/wiki/ARMA-Modell)
  • Das Akronym ARMA (AutoRegressive-Moving Average) und die daran angelehnten Kunstwörter ARMAX und ARIMA bezeichnen lineare Modelle für stationäre, zeitdiskrete stochastische Prozesse. Sie werden zur Zeitreihenanalyse in der Messtechnik, in der Statistik und dort insbesondere in der Ökonometrie eingesetzt. Hier sind sie auch unter dem Namen Box-Jenkins-Modelle bekannt. Die Prognosemodelle der Wirtschaftsinstitute und Banken sind in der Regel aus ARMA-Modellen zusammengesetzt. Ihr mathematischer Kern ist ein lineares Gleichungssystem. Man kann solche Modelle auch als Differenzengleichungen bzw. Differenzengleichungssysteme ansehen.


SVM hingegen ist ein allgemeines Verfahren zur Mustererkennung welches natürlich auch auf Zeitreihenanalysen angewendet wird (wie z.B. auch Regressionsanalysen, NN und ähnliche Ansätze)
Sie hierzu Wiki (http://de.wikipedia.org/wiki/Support_Vector_Machine)
  • Eine Support Vector Machine [səˈpÉ”Ët ˈvektÉ™ məˈʃiËn] (SVM, die Übersetzung aus dem Englischen, „Stützvektormaschine“ oder Stützvektormethode, ist nicht gebräuchlich) ist ein Klassifikator (vgl. Klassifizierung). Eine Support Vector Machine unterteilt eine Menge von Objekten so in Klassen, dass um die Klassengrenzen herum ein möglichst breiter Bereich frei von Objekten bleibt; sie ist ein sogenannter Large Margin Classifier (engl. „Breiter-Rand-Klassifikator“).
    Support Vector Machines sind keine Maschinen im herkömmlichen Sinne, bestehen also nicht aus greifbaren Bauteilen. Es handelt sich um ein rein mathematisches Verfahren der Mustererkennung, das in Computerprogrammen umgesetzt wird. Der Namensteil machine weist dementsprechend nicht auf eine Maschine hin, sondern auf das Herkunftsgebiet der Support Vector Machines, das maschinelle Lernen.


Beim SVM hat man die nur indirekt die Möglichkeit die Zeit zu berücksichtigen. Direkte Abhängigkeiten von Vorperioden bekommt man z.B. nur durch geeignete Konstruktion der Inputvariablen hin.

Viele Grüße

Martin

Harald205

unregistriert

24

Mittwoch, 9. Juli 2008, 17:49

WekaInvestox Indikator für das neue Investox 5.2.6

Hallo Martin,

finde es super :thumbsup: das die SVM software zur verfügung steht!!
Was macht die dll's version-abhängig? Wäre es nicht möglich eine Investox-version-unabhängige software zu schreiben?
Danke!

Viele Grüße aus Holland,
Harald

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

25

Mittwoch, 9. Juli 2008, 17:56

Hallo Harald,

wenn ich auf deine Frage eine Antwort wüsste ?( .

Mit jeder neuen Version von Investox werden neue DLLs ausgeliefert. Über diese DLLs bekomme ich aus VB den Zugriff auf die übergebenen Daten, kann aber auch die selber definierten Zeitreihen ermitteln.

Das Programmiermodell das ich wegen der Einbindung von Weka verwenden muss ist .NET. Und genau hier scheint es zu ewigen Abhängigkeiten zu kommen (ich sitze oft bei Kunden und muss dazu beitragen, dass solche Abhängigkeiten verhindert werden), aber bei VB und der konkreten Entwicklung von Investox kann ich nur raten. Und das hilft nicht weiter.

Wenn du einen Tipp hast ... herzlichen Dank.

Martin

Gerasan

unregistriert

26

Mittwoch, 9. Juli 2008, 19:09

Hallo Martin,
im WekaFwdIndikator VB-Projekt gibt es doch den Verweis auf KSEImportExport.DLL. Nach einem Investox-Update ändert sich die Versionsnummer der KSEImportExport.DLL so das der Verweis nicht mehr stimmt. Deswegen wahrscheinlch geht der Indikator nicht. Ich glaube irgendwas darüber gelesen zu haben, das eine Signierung mit einem starken Namen zwingend ist, sobald INTEROP im Spiel ist oder sobald der Aufrufer (Investox) so signiert ist, was wohl der Fall ist. Das erfordert vermutlich eine Neukompilierung, sobald KSEImportExport.DLL sich ändert.

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

27

Mittwoch, 9. Juli 2008, 19:37

Hallo Gerasan,

du hast wahrscheinlich Recht. Fragen die ich mir jedoch zum Beispiel stelle ist ob es bei jedem Update erforderlich ist alle DLLs zu aktualisieren und damit eine neue Versionsnummer zu vergeben. Aber das hängt halt vom Entwicklungsmodell von Herrn Knöpfel ab.

Herzliche Grüße

Martin

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

28

Samstag, 12. Juli 2008, 18:25

Hallo zusammen,

habe gerade den Update für den WekaIndikator für Investox 5.3.2 in der Database und meinem Wiki "http://weka.agile-germany.de/wikka/wikka.php?wakka=WekaInvestoxIntegration" eingestellt.

Viel Spaß

Martin

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

29

Sonntag, 13. Juli 2008, 11:39

Hallo Martin,

danke für das Update....der Indi läuft wieder.
Viele Grüße,
Hans-Jürgen

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

30

Sonntag, 13. Juli 2008, 12:57

@Martin:

kann man in der wekaindis.weka-Datei Zeilen auskommentieren?
Viele Grüße,
Hans-Jürgen

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

31

Sonntag, 13. Juli 2008, 14:43

Hallo Hans-Jürgen,

du kannst ganz einfach mit "//" auskommentieren. Die beiden Slashes kannst du an jeder gewünschten Position einer Zeile verwenden. Der Rest der Zeile - oder die ganze Zeile - werden dann einfach ignoriert.

Martin

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

32

Sonntag, 13. Juli 2008, 15:58

OK, danke!
Viele Grüße,
Hans-Jürgen

vwalther

unregistriert

33

Montag, 14. Juli 2008, 21:26

Hallo zusammen,



kurze naive Frage:

Habe die DLL runtergeladen für Investox 5.3.2 (vorher 5.2.6 wie beschrieben). Beim Aufruf im Handelssystem oder im Chart meckert Investox immer rum: ungültige Parameter-Angabe ...

Was läuft da nicht richtig? Brauche ich ausser diesem Indi noch was. Hatte vorher keine ältere Version installiert, nur zum Hinweis.

Dokter schon 2 Stunden rum und diese blöde Fehlermeldung verschwindet nicht. Der Standardaufruf im Handelssystem erzeugt diese Zeile:

WekaFwdIndikator(10, 1, 10, 1, RBF, N, svm, nein, nein, default, nein, c:\weka\wekaIndis.weka, 1)



Grüsse



V. Walther

Peratron

unregistriert

34

Montag, 14. Juli 2008, 22:36

Welche Investox Version hast Du installiert?

:D

vwalther

unregistriert

35

Dienstag, 15. Juli 2008, 10:50

die aktuelle Version 5.3.2

gaspard

unregistriert

36

Dienstag, 15. Juli 2008, 13:32

Du brauchst erst das

Zip-Archiv vollständige Installation der DLL-Indikatoren (unter Investox version 5.2.6 auf Martin's wiki) und dann die update fur version 5.3.2

Grusse

Gaspard

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

37

Dienstag, 15. Juli 2008, 14:11

Hallo zusammen,

für Investox 5.3.2 brauchst du die aktuelle Version der DLL. Die ist nicht die gerade im Link angebotene. Am Namen läßt sich das leicht erkennen ;) .

Die aktuelle findet Ihr z.B. hier im Forum in der Database unter Indikatoren: "WekaInvestox für Update Investox 5.3.2".

Dabei handelt es sich jedoch nur um den Update! Der Update setzt voraus, dass die vorherige Version des Indikators schon einmal sauber installiert war. Ist die nicht der Fall solltet ihr auf mein Wiki gehen und dort die Installation für Investox 5.2.6 ("Indikator WekaInvestox für den Import in Investox 5.2.6") ausführen. Dazu ist das passende Investox nicht notwendig. Es ist nur wichtig, die DLL's komplett auf dem System zu haben.

Bei der Installation des Update ist dann noch zu beachten, dass der Batch "Update ...532.bat" zwei Exe-Dateien auf dem System voraussetzt. In der vollständigen Installation für 5.2.6 sind die mit ausgeliefert.

Das Update-Verfahren ist leider etwas umständlich, da ich aus Platzgründen auf dem Wiki die Auslieferungen immer klein halten möchte.

Viel Erfolg

Martin

P.S. bei Rückfragen - Nachfragen