Datamining-Cup 2012 - TeamFK i. Datamining-Cup 2012 - TeamFK



Ähnliche Dokumente
Professionelle Seminare im Bereich MS-Office

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Zeichen bei Zahlen entschlüsseln

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Erfahrungen mit Hartz IV- Empfängern

W-Rechnung und Statistik für Ingenieure Übung 11

Simulation LIF5000. Abbildung 1

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

a n auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

Physik & Musik. Stimmgabeln. 1 Auftrag

Wir arbeiten mit Zufallszahlen

Erstellen von x-y-diagrammen in OpenOffice.calc

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Approximation durch Taylorpolynome

Statistische Auswertung:

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Lineare Gleichungssysteme

Lineare Gleichungssysteme

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Was meinen die Leute eigentlich mit: Grexit?

Anleitung über den Umgang mit Schildern

SICHERN DER FAVORITEN

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Theoretische Grundlagen der Informatik WS 09/10

Wie Sie mit Mastern arbeiten

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Elexis-BlueEvidence-Connector

Lichtbrechung an Linsen

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Der Kalender im ipad

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen


Elektrische Messtechnik Protokoll - Bestimmung des Frequenzgangs durch eine Messung im Zeitbereich

iloq Privus Bedienungsanleitung Schließanlagen Programmierung Version 1 - Copyright 2013

Internationales Altkatholisches Laienforum

II. Daten sichern und wiederherstellen 1. Daten sichern

Rekursionen. Georg Anegg 25. November Methoden und Techniken an Beispielen erklärt

Informationsblatt Induktionsbeweis

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Primzahlen und RSA-Verschlüsselung

Dow Jones am im 1-min Chat

Kapiteltests zum Leitprogramm Binäre Suchbäume

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Berechnung der Erhöhung der Durchschnittsprämien

teischl.com Software Design & Services e.u. office@teischl.com

WinWerk. Prozess 4 Akonto. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Eigenwerte und Eigenvektoren von Matrizen

Studieren- Erklärungen und Tipps

Leichte-Sprache-Bilder

Vorkurs Mathematik Übungen zu Polynomgleichungen

10.1 Auflösung, Drucken und Scannen

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

How to do? Projekte - Zeiterfassung

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Projekt 2HEA 2005/06 Formelzettel Elektrotechnik

6.2 Scan-Konvertierung (Scan Conversion)

Hilfe zur Urlaubsplanung und Zeiterfassung

Mah Jongg - Ein Spiel für 4 Spieler

Musterlösungen zur Linearen Algebra II Blatt 5

Technische Analyse der Zukunft

Dokumentation von Ük Modul 302

Statuten in leichter Sprache

Objektorientierte Programmierung für Anfänger am Beispiel PHP

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Bilder Schärfen und Rauschen entfernen

Wie oft soll ich essen?

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

-Versand an Galileo Kundenstamm. Galileo / Outlook

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Übung 5 : G = Wärmeflussdichte [Watt/m 2 ] c = spezifische Wärmekapazität k = Wärmeleitfähigkeit = *p*c = Wärmediffusität

GLEICH WEIT WEG. Aufgabe. Das ist ein Ausschnitt aus der Tausenderreihe:

Wachstum 2. Michael Dröttboom 1 LernWerkstatt-Selm.de

Um sich zu registrieren, öffnen Sie die Internetseite und wählen Sie dort rechts oben

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Ein Spiel für 2-3 goldhungrige Spieler ab 8 Jahren.

Kulturelle Evolution 12

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule

Die Größe von Flächen vergleichen

In konstanten Modellen wird davon ausgegangen, dass die zu prognostizierende Größe sich über die Zeit hinweg nicht verändert.

Umgekehrte Kurvendiskussion

Eine der Aktien hat immer einen höheren Gewinn als die andere Aktie. Ihre Aufgabe ist es diese auszuwählen.

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Windows 7 Winbuilder USB Stick

Auswerten mit Excel. Viele Video-Tutorials auf Youtube z.b.

Was ist Sozial-Raum-Orientierung?

Online Schulung Anmerkungen zur Durchführung

EMIS - Langzeitmessung

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

Sollsaldo und Habensaldo

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Transkript:

i Datamining-Cup 2012 - TeamFK

ii Inhaltsverzeichnis 1 Programme und Datenvorverarbeitung 1 2 Vorbetrachtung der Daten 2 2.1 Zeitintervalle..................................................... 2 2.2 Mittelwert und Lineare-Approximation....................................... 2 3 Verfahren zur Vorhersage 3 3.1 Mittelwert....................................................... 3 3.2 Sevenday-Verfahren.................................................. 4 3.3 Lineare-Regression Preis Quantität........................................ 5 3.4 Lineare-Regression mit Vorfilterung von Frequenzen................................ 6 3.5 Zufallsverfahren.................................................... 7 4 Optimierungsverfahren 8

1 / 8 Kapitel 1 Programme und Datenvorverarbeitung Zur Verarbeitung der Daten wurde das Programm Octave benutzt. Dieses ist eine Open-Source alternative zu MATLab. In dem Programm wurden die Daten in Form von Matrizen dagestellt. Alle in diesem Projekt implementierten Verfahren werden durch das script run_tests.m ausgeführt, welches ein Vergleich der jeweiligen Fehlerwerte liefert. Das Script get_products.m liest die Trainings- und Klasifikationsdatein die von einem sed-script für die Benutzung in Octave vorbearbeitet wurden: #!/bin/sed -f # Delete the header line, which is on line 1 1d # Replace every with a space s/ / /g # Eliminate carriage return s/\r// Das Octave-Script erstellt zwei Matrizen, je eine für die Preise und Quantitäten. Dabei hat jede Matrix 570 Spalten, jedes Produkt wird in einer eigenen Spalte gespeichert. Die Zeilennummer ist der index für den Tag. Damit ergibt sich eine Zeilengröße von 42 für die Quantitätsmatrix, und 56 für die Preismatrix, da diese zusätzlich die Klassifikationsdaten enthält: function [p, q] = get_products() load( -ascii, train_noheader.csv ); load( -ascii, class_noheader.csv ); p = reshape([train_noheader(:,3); class_noheader(:,3)], 570, []) ; q = reshape( train_noheader(:,4), 570, []) ; endfunction Die resultierenden Matrizen, die von allen implementierten Verfahren verwendet wird, haben folgendes Schema: price day1,product1 price day1,product2 price day1,product570 price day2,product1 price day2,product2 price day2,product570 P =...... price day56,product1 price day56,product2 price day56,product570 EQUATION 1.1: Preis-Matrix quant day1,product1 quant day1,product2 quant day1,product570 quant day2,product1 quant day2,product2 quant day2,product570 Q =...... quant day42,product1 quant day42,product2 quant day42,product570 EQUATION 1.2: Quantitaets-Matrix

2 / 8 Kapitel 2 Vorbetrachtung der Daten Zu Beginn des Datamining-Cups wurden die Daten mit verschieden Diagrammen visualisiert um erste Eindruecke und Ideen zu gewinnen. Dabei fand ein Brainstorming statt, bei dem Folgende Ideen entstanden sind. 2.1 Zeitintervalle Dabei wurde die Summe aller Verkaeuft ueber einen Tag fuer alle 42 Tage abgetragen. Die sich daraus ergebene Kurve gab den inspiration fuer das Sevenday-Verfahren. Da deutlich wurde, das der Absatz sich periodisch schwank. 2.2 Mittelwert und Lineare-Approximation Bei der Approximation der Quantitätskurve zu einer geraden, wird versucht einen allgemein steigenden oder fallenden Trend eines Produktes zu erkennen. Hierbei wird davon ausgegangen, dass sich ein Produkt über eine größeren Zeitraum im mittelveränder. Anders als beim Mittelwertverfahren, welches von einer immer gleichbleibenden Grundabsatzmenge ausgeht, wird hier ein Trend mit bedacht. Der Verlauf der Quantität über die Trainingsdaten wird linear angenähert und für den die Vorhersage benutzt. Das Ergebniss dieses Verfahrens lieferte für einige Produkte z. B. dem Ersten eine etwas besseres Ergebniss als der Reine Mittelwert. Für andere allerdings einen viel zu steilen Anstieg, der ziemlich große Fehlerwerte verussachte.

3 / 8 Kapitel 3 Verfahren zur Vorhersage 3.1 Mittelwert Beim Mittelwertverfahren wird für jedes Produkte über die Trainingsmenge der Mittelwert gebildet und für den unbekannten Zeitraum Vorhergesagt. Dabei wurde eine Fehlerpunktzahl von 489 erreicht. 50 40 Quantitaet 30 20 10 0 2 4 6 8 10 12 14 Tage Abbildung 3.1: Mitterte aller Produkte ueber zwei Wochen

4 / 8 3.2 Sevenday-Verfahren Wenn man die Summe über dem Absatz alle Produkte für alle 42 Tage in einem Diagram abträgt, sieht man eine sehr deutliche periodische Schwankung der Werte. 4000 (Summe) Original 3500 3000 2500 Quantitaet 2000 1500 1000 500 0 0 5 10 15 20 25 30 35 40 Tage Abbildung 3.2: Quantitätssumme Diese Schwanken in einem Sieben-Tage-Rhythmus. Unter der Anahme, das dieses Verhalten jedem oder zumindest in den meisten Produkte zu grunde liegt, wurde das Sevenday-Verfahren entwickelt. Der Ansazt geht davon aus, dass der Absatz im mittel über eine Woche immer gleich ist und sich nur über Absatzstarke und -schwache Tage verteilt. Beim Sevenday-Verfahren wird für jeden Wochentag ein Mittelwert gebildet und Vorhergesagt. In der Summer versucht man also über sieben Tage einen mittlere Schwingung der Sieben-Tage-Schankung zu erzeugen und dieses dann für den unbekannten Zeitraum vorherzusagen.

5 / 8 4000 (Summe) Original (Summe) Vorhersage 3500 3000 2500 Quantitaet 2000 1500 1000 500 0 0 5 10 15 20 25 30 35 40 Tage Abbildung 3.3: Quantitätssumme mit Sevenday-Vorhersage In diesem Diagramm ist die mittlere kurve in den Vorhersagezeitraum abgetragen worden. Das Ergebniss sieht optisch gut aus, aber enttäuscht in der Fehlerzahl von 484 Punken. Wenn für ein Produkt an einem Tage ein zu hoher Wert vorhergesagt wird und für ein anderes Produkt ein zu niedriger im Vergleich zu den Realwerten, dann gleichen sich die Negativen- und Positvenabstände in der Summer wieder aus. Daher kann das Verhalten der Siebentagesschwankung nicht alleine Auschlaggebend für den Absatz eines Produktes sein. 3.3 Lineare-Regression Preis Quantität Angenommen wurde, dass ein direkter Zusammenhang, zwischen dem Preis und der verkauften Menge besteht. Dazu wurde eine allgemeine Polynomapproximation n-ten Grades implementiert, die zu einer gegeben Liste von Preisen und Quantitäten eine approximierte Polynom-Funktion quantity = f (price) n-ten Grades berechnet. Die gegeben Preise der vorherzusagenden Quantitäten wird in die errechnete Funktion einsetzt. Dabei wurde der Grad des Polynoms variert; mit einem Polynomgrad >= 2 konnten nur für wenige Produkte Verbesserungen erzielt werden, der globale Fehlerwert stieg jedoch. Die Benutzung einer zusätzlichen logarithmischen Vorverarbeitung quantity = f (log(price)) führte zu dem Kleinsten für reine Regressions-Verfahren erzielten Fehlerwert.

6 / 8 3.4 Lineare-Regression mit Vorfilterung von Frequenzen Am Produkt Nr. 335 kann man examplarisch sehr gut erkennen, dass der Absatz von den beiden Einflussgrößen Siebentage- Schwankung sowie der Preisänderung abhängt. Im folgenden Diagramm wird die Quantität vom Produkt 335 blau, sowie der Preis in rot abgetragen. Die Werte des Preises sind mit 50 Multipliziert worden, um sie besser im Quantitaetsdiagramm sichtbar zu machen. 200 150 100 50 0 5 10 15 20 25 30 35 40 Abbildung 3.4: Product 335 Mit diesem Verfahren wird versucht beide Einflussgrößen bei der Vorhersage zu beachten. Die Grundidee besteht darin eine Vorverarbeitung der Testdaten vorzunehmen, um dann ein besseres funktionales Verhältnis zwischen Preis und Quantität errechnen zu können. Dabei wurde zunächst eine Fourie-Analyse der Kurve der Absatzsumme aller Produkte über die 42 Tage der Vorhersagemenge durchführt, um die Frequenzen der Siebentagesschwankung empirisch zu bestimmen. Es wurden jeweils einzelne Frequenzbereiche entfernt und bei der Rücktransformation ein Digramm erwartet, welches einer linearen Preiszuordnung unterliegt. Der Algorithmus erstellt im weiteren für jedes Produkt eine Fourier-Transformation, entfernt die zuvor empirisch ermittelten Frequenzen, und führt eine inverse Fourier-Transformation durch. Dann wird die im Abschnitt 3.3 beschriebene Regression auf den bereinigten Daten durchgeführt. Nach der Anwendung des Regressions-Polynoms auf die Klassifikationsdaten, werden die Siebentages-Frequenzen wieder addiert. Dazu werden die temporären Vorhersagewerte einer Fourier-Transformation mit anschließender Addition der Siebentages-Frequenzen und Rücktransformation unterzogen.

7 / 8 3.5 Zufallsverfahren Dieses Verfahren wurde entwickelt um Plausibität der anderen Verfahren zu Testen und um der Vermutung nach zu gehen, das es Produkte gibt, welche gar nicht vorhersagbar sind. Bei dieses Verfahren wurde für jedes Produkt der Mittelwert und die Standardabweichung ermittelt. Mit dieses Parametern konnten für jedes Produkt 14 Werte zufällig für die Vorhersage bestimmt werden. Zur Zufallsbestimmung wurden Octave-interen Zufallsfunktionen mit Normal- und mit Chi-Verteilung benutzt. Beide Verteiltungen lieferten ähnliche Ergebnisse. Der Gesammtfehler bei diesem Verfahren schankte zwischen 640 und 590 Fehlerpunkten. Im Vergleich mit anderen Verfahren (siehe Optimierungsverfahren) stellte sich herraus, dass es immer wieder Produkte gab, welche mit diesesm Verfahren bessere Werte lieferten. Circa 7% der Podukte liessen sich mit Zufall besser vorhersagen, als duch die Zuvor beschriebenen Verfahren. Es stellte sich aber herraus, dass es bei jedem duchlauf andere Produkte waren, welche mit dem Vergleich zu den Realendaten besser vorhergesagt wurden. Somit war dieses Verfahren keine Option für eine seriöse Vorhersage für unbekannten Datensätze.

8 / 8 Kapitel 4 Optimierungsverfahren Das Optmierungsverfahren ist Post-Clustering und wurde im Script opt_pred.m implementiert. Dieses Meta-Verfahren bestimmt für jedes Produkt eines der oben genannten Verfahren, welches den geringsten Fehlerwert bei der Vorhersage über der Trainingsmenge ergab. Dabei werden die Vorhersage-Matrizen der Verfahren mit den Real-Daten über die Manhatten-Distanz verglichen. Als Ergebnis erhält man nun einen Vektor, welches die Indizes der jeweils besten Verfahren enthält. Die Position des Indizes spiegelt dabei das Produkt wieder, für die dieses Verfahren am besten geeignet ist. Mit diesem Vektor können nun die Vorhersagen der einzelnen Produkte für den unbekannten Zeitraum zusammen gelegt werden. 19% regress fourier mean 35% 24% sevenday regress 13% log reg. 1% quad 9% Abbildung 4.1: Anteil der Verfahren an der Gesammtlösung Dieses Verfahren würde sich auch gut zur Bestimmung des Abgabe-Datensatzes für den Daten-Mining-Cup eignen. Dabei könnten alle Teams für ihre Verfahren einmal ihre Vorhersage für die Tage 29 bis 42 in Form der "train.txt" und ihre Vorhersagen für den unbekannten Zeitraum abgeben. Anhand der verschiedenen Fehler der Vorhersagen pro Produkt könnte wie oben beschrieben ebenfalls ein Vektor mit den Indizes der Verschiedenen Einreichungen erstellt werden und damit auch der Datensatz für die Einreichung im Wettbewerb.