Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic...

57
Bringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨ uhrendes Beispiel TrueSkill-Modell Microsoft Excel Ziel des Vortrags Tabular Was ist Tabular? Wof¨ ur braucht man Tabular? Funktionsweise Konstruktion ¨ Ubersetzung in Fun Update Add-In Quellen Bringing Probabilistic Programming to MS Excel Tobias Standop 30. Juni 2016 1 / 57

Transcript of Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic...

Page 1: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Bringing Probabilistic Programming to MS

Excel

Tobias Standop

30. Juni 2016

1 / 57

Page 2: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Inhaltsverzeichnis

1 Einleitung und MotivationEinfuhrendes BeispielTrueSkill-ModellMicrosoft ExcelZiel des Vortrags

2 TabularWas ist Tabular?Wofur braucht man Tabular?Funktionsweise

Konstruktion eines probabilistischen ModellsUbersetzung in Fun

Update

3 Vorstellung des Add-Ins

4 Referenzen

2 / 57

Page 3: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Inhaltsverzeichnis

1 Einleitung und MotivationEinfuhrendes BeispielTrueSkill-ModellMicrosoft ExcelZiel des Vortrags

2 TabularWas ist Tabular?Wofur braucht man Tabular?Funktionsweise

Konstruktion eines probabilistischen ModellsUbersetzung in Fun

Update

3 Vorstellung des Add-Ins

4 Referenzen

3 / 57

Page 4: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Einf

¨

uhrendes Beispiel

4 / 57

Page 5: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Darstellung in Tabellen

ID Name

0 Anna1 Bob2 Cynthia

ID Spieler1 Spieler2 Spieler1Gewinnt

0 0 1 ja1 1 2 nein2 0 2 ?

Diese Tabellen konnten so in MS Excel festgehalten werden!

5 / 57

Page 6: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Darstellung der Tabellen

Diese Tabellen werden im Folgenden auch so dargestellt:

SpielerName string

PartieSpieler1 link (Spieler)Spieler2 link (Spieler)Spieler1Gewinnt bool

6 / 57

Page 7: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

TrueSkill -Modell

Bayes’scher Ranking-Algorithmus

Entwickelt von Microsoft Research im Jahr 2006

Schatzt die Fahigkeit eines Spielers in Bezug auf dessenLeistungen und Ergebnisse

Zum Matchmaking in Onlinespielen auf der Xboxverwendet

7 / 57

Page 8: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Was ist Microsoft Excel?

8 / 57

Page 9: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Ziel des Vortrags

Vorstellung der wahrscheinlichkeitstheoretischenProgrammiersprache Tabular

Nicht: Ablauf/Berechnung der Schlussfolgerungen

9 / 57

Page 10: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Quellen des Vortrags

Gordon, A. et al. (2013):”Tabular: A Schema-Driven

Probabilistic Programming Language“.

Gordon, A. et al. (2014):”Probabilistic Programs as

Spreadsheet Queries“.

10 / 57

Page 11: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Inhaltsverzeichnis

1 Einleitung und MotivationEinfuhrendes BeispielTrueSkill-ModellMicrosoft ExcelZiel des Vortrags

2 TabularWas ist Tabular?Wofur braucht man Tabular?Funktionsweise

Konstruktion eines probabilistischen ModellsUbersetzung in Fun

Update

3 Vorstellung des Add-Ins

4 Referenzen

11 / 57

Page 12: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Was ist Tabular?

Wahrscheinlichkeitstheoretische Programmiersprache furmaschinelles Lernen

Als Add-In fur MS Excel erhaltlich

Kernidee: Programme werden durch Hinzufugen vonprobabilistischen Modellausdrucken zu existierendenRelationenschemata geschrieben

Anwendungsgebiete: Erstellung von Klassifikationen,Empfehlungen, Rankings oder Zusammenlagerungen ausvorhandenen Daten

12 / 57

Page 13: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Wof

¨

ur braucht man Tabular?

Lernen und Schlussfolgerungen bilden aus gegebenenDaten

Weltweit große Anzahl an Datensatzen inTabellenkalkulationsprogrammen gehalten

Dem einfachen Nutzer von Excel ermoglichenSchlussfolgerungen durch textuelle Anmerkungen zu bildenohne selbst Code zu schreiben.

Keine Datenexporte notwendig!

13 / 57

Page 14: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Inhaltsverzeichnis

1 Einleitung und MotivationEinfuhrendes BeispielTrueSkill-ModellMicrosoft ExcelZiel des Vortrags

2 TabularWas ist Tabular?Wofur braucht man Tabular?Funktionsweise

Konstruktion eines probabilistischen ModellsUbersetzung in Fun

Update

3 Vorstellung des Add-Ins

4 Referenzen

14 / 57

Page 15: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Funktionsweise von Tabular

15 / 57

Page 16: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Funktionsweise von Tabular

Kernidee: Hinzufugen von probabilistischenModellausdrucken zu existierenden Relationenschemata

Konstruktion von probabilistischen Modelle ausnicht-probabilistischen Datenschemata

Ubersetzung eines solches probabilistisches Modell in Fun

16 / 57

Page 17: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Was ist Fun?

Kalkul, das Bayes’sche Schlussfolgerungen durchfunktionale Wahrscheinlichkeitsprogrammierung ermoglicht

Infer.NET Fun die dazugehorige imperative Sprache

Infer.NET Fun wandelt F#-Syntax in ausfuhrbare,probabilistische Modellsprache fur Bayes’schesMaschinenlernen um

17 / 57

Page 18: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Fortsetzung: Funktionsweise von Tabular

Konstruktion von probabilistischen Modelle ausnicht-probabilistischen Datenschemata

Ubersetzung eines solches probabilistisches Modell in Fun

C#-Programm berechnet aus von Fun erschlossenenSchlussfolgerungen die Resultate und schreibt sie zuruck inTabellenkalkulationsprogramm

18 / 57

Page 19: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Konstruktion eines probabilistischen Modells

(1) Starte mit einem Relationenschema.

19 / 57

Page 20: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Relationenschema

SpielerName string

PartieSpieler1 link (Spieler)Spieler2 link (Spieler)Spieler1Gewinnt bool

20 / 57

Page 21: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Konstruktion eines probabilistischen Modells

(1) Starte mit einem Relationenschema.

(2) Fuge verborgene Spalten hinzu.

21 / 57

Page 22: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Arten von Spaltentypen

InputSetzt probabilistisches Modell festHat keinen ModellausdruckWerte konnen nicht berechnet werdenWerte in einer solchen Spalte durfen nicht unbekannt sein

OutputHat einen ModellausdruckWerte konnen berechnet werdenEntweder vollstandig (observed) oder luckenhaft(observable)

LatentHilfsspalteNicht in ursprunglicher Datenbank vorhandenHat einen ModellausdruckWerte konnen berechnet werden

22 / 57

Page 23: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Anwendung auf das Relationenschema

SpielerName string inputFahigkeit real latent

PartieSpieler1 link (Spieler) inputSpieler2 link (Spieler) inputLeistung1 real latentLeistung2 real latentSpieler1Gewinnt bool output

23 / 57

Page 24: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Konstruktion eines probabilistischen Modells

(1) Starte mit einem Relationenschema.

(2) Fuge verborgene Spalten hinzu.

(3) Erganze probabilistische Modellausdrucke fur verborgeneund Output-Spalten.

24 / 57

Page 25: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Anwendung auf das Relationenschema

SpielerName string inputFahigkeit real latent Gaussian(25.0,0.1)

PartieSpieler1 link (Spieler) inputSpieler2 link (Spieler) inputLeistung1 real latent Gaussian(Spieler1.Fahigkeit, 1.0)Leistung2 real latent Gaussian(Spieler2.Fahigkeit, 1.0)Spieler1Gewinnt bool output Leistung1 > Leistung2

25 / 57

Page 26: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Konstruktion eines probabilistischen Modells

(1) Starte mit einem Relationenschema.

(2) Fuge verborgene Spalten hinzu.

(3) Erganze probabilistische Modellausdrucke fur verborgeneund vollstandige Spalten.

(4) Ermittle Daten und Schlussfolgerungen.

26 / 57

Page 27: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Zwei Arten der Deduktion

(a) Query-by-Latent-Column

Vollstandige Datenbank gegebenBestimmung der Werte/der Verteilungsfunktionen furverborgene Spalten

(b) Query-by-Missing-Value

Fehlende Werte in Output-Spalte vorhandenBerechnung/Voraussage dieser fehlenden Werte

27 / 57

Page 28: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Query-by-Latent-Column - Beispiel

ID Name

0 Anna1 Bob2 Cynthia

ID Spieler1 Spieler2 Spieler1Gewinnt

0 0 1 nein1 1 2 nein2 0 2 nein

) Z. B. Fahigkeit der einzelnen Spieler berechnen

28 / 57

Page 29: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Query-by-Missing-Value - Beispiel

ID Name

0 Anna1 Bob2 Cynthia

ID Spieler1 Spieler2 Spieler1Gewinnt

0 0 1 nein1 1 2 nein2 0 2 ?

) Ergebnis der Partie zwischen Anna und Cynthia ermitteln

29 / 57

Page 30: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

¨

Ubersetzung in Fun

Ubersetzung von Datenbankschema hin zu einem Modell inFun:

Ubersetze erst jede Tabelle des Schemas einzeln

Ubersetze danach zusatzlich das gesamte Schema

30 / 57

Page 31: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

¨

Ubersetzung in Fun - Illustration am Beispiel(1)

LineareRegressionmuA real hyper 0muB real hyper 0A real param Gaussian(muA,1)B real param Gaussian(muB,1)X real inputZ real latent A*X + BY real output Gaussian(Z,1)

31 / 57

Page 32: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Illustration am Beispiel(1) - Fortsetzung

Modell einer Zeile der Tabelle LineareRegression:

Hyper {muA = 0;muB = 0}Prior(h) {A$ = {};A = Gaussian(h.muA,1);

B$ = {};B = Gaussian(h.muB,1);Z$ = {};Y$ = {}}

Gen(h,w,x) let Z = w.A*x.X + w.B inlet Y = Gaussian(Z,1) in({Y=Y},{Z=Z})

32 / 57

Page 33: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

¨

Ubersetzung in Fun - Illustration am Beispiel(2)

SpielerName string inputFahigkeit real latent Gaussian(25.0,0.1)

PartieSpieler1 link (Spieler) inputSpieler2 link (Spieler) inputLeistung1 real latent Gaussian(Spieler1.Fahigkeit, 1.0)Leistung2 real latent Gaussian(Spieler2.Fahigkeit, 1.0)Spieler1Gewinnt bool output Leistung1 > Leistung2

33 / 57

Page 34: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Illustration am Beispiel(2) - Fortsetzung

Modell P1 einer Zeile der Tabelle Spieler :

Hyper {}Prior(h) {Fahigkeit$ = {}}Gen(h,w,x) let Fahigkeit = Gaussian(25,0.1) in

({},{Fahigkeit = Fahigkeit})

34 / 57

Page 35: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Illustration am Beispiel(2) - Fortsetzung

Modell P2 einer Zeile der Tabelle Partie:

Hyper {}Prior(h) {Leistung1$ = {};Leistung2$ = {};Spieler1Gewinnt$ = {}}Gen(h,w,x) let Leistung1 = Gaussian(Spieler[x.Spieler1].Fahigkeit,1)) in

let Leistung2 = Gaussian(Spieler[x.Spieler2].Fahigkeit,1)) inlet Spieler1Gewinnt = Leistung1 > Leistung2 in({Spieler1Gewinnt = Spieler1Gewinnt},{Leistung1 = Leistung1;Leistung2 = Leistung2})

35 / 57

Page 36: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Illustration am Beispiel(2) - Fortsetzung

Modell fur das TrueSkill-Schema

Hyper {#Spieler = 1,#Partien = 1}Prior(h) {Spieler = P1.Prior(P1.Hyper),

Partien = P2.Prior(P2.Hyper)}Gen(h,w,x)let Spieler = [for i<h.#Spieler !

let Fahigkeit = Gaussian(25,0.01) in{Fahigkeit = Fahigkeit}]

36 / 57

Page 37: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Illustration am Beispiel(2) - Fortsetzung

let Partien = [for i<h.#Partien !let Spieler1 = x.Partien[i].Spieler1 inlet Spieler2 = x.Partien[i].Spieler2 inlet Leistung1 = Gaussian(Spieler[Spieler1].Fahigkeit,1) inlet Leistung2 = Gaussian(Spieler[Spieler2].Fahigkeit,1) inlet Spieler1Gewinnt = Leistung1 > Leistung2 in({Spieler1 = Spieler1;Spieler2 = Spieler2;Spieler1Gewinnt = Spieler1Gewinnt;Leistung1 = Leistung1;Leistung2 = Leistung2})]

({ Spieler = [for i < h.#Spieler ! {}];Partien = [for i < h.#Partien !

{Spieler1Gewinnt = Partien[i].Spieler1Gewinnt}]},{ Spieler = [for i < h.#Spieler ! {Fahigkeit = Spieler[i].Fahigkeit}];

Partien = [for i < h.#Partien !{Leistung1 = Partien[i].Leistung1;Leistung2 = Partien[i].Leistung2 }}])

37 / 57

Page 38: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Update von Tabular

2014 vorgestellt

Grundgerust wie in ursprunglicher Version

Einige Erweiterungen

Reduktion der Fehleranfalligkeit

Vereinfachung der Nutzung

38 / 57

Page 39: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Pseudo-deterministische Abfragen auf Daten

Abfragen durch drei Arten von Variablen spezifiziert:

(1) Deterministische Variablen (det-Space)

(2) Nicht-deterministische Zufallsvariablen (rnd-Space)

(3) Pseudo-deterministische Abfragevariablen (qry -Space)

39 / 57

Page 40: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Neue Features in Tabular

Drei neue Features in Tabular :

(1) Benutzerdefinierte Funktionen

(2) Benutzerdefinierte Abfragen

(3) Wertindizierte, abhangige Typen

40 / 57

Page 41: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Inhaltsverzeichnis

1 Einleitung und MotivationEinfuhrendes BeispielTrueSkill-ModellMicrosoft ExcelZiel des Vortrags

2 TabularWas ist Tabular?Wofur braucht man Tabular?Funktionsweise

Konstruktion eines probabilistischen ModellsUbersetzung in Fun

Update

3 Vorstellung des Add-Ins

4 Referenzen

41 / 57

Page 42: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Add-In Tabular f

¨

ur MS Excel

Von Microsoft Research als kostenloser Download bereitgestellt:

https://www.microsoft.com/en-us/research/project/

tabular/

42 / 57

Page 43: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Add-In Tabular f

¨

ur MS Excel

43 / 57

Page 44: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Add-In Tabular f

¨

ur MS Excel

44 / 57

Page 45: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Add-In Tabular f

¨

ur MS Excel

45 / 57

Page 46: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Add-In Tabular f

¨

ur MS Excel

46 / 57

Page 47: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Add-In Tabular f

¨

ur MS Excel

47 / 57

Page 48: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Add-In Tabular f

¨

ur MS Excel

48 / 57

Page 49: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Add-In Tabular f

¨

ur MS Excel

49 / 57

Page 50: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Add-In Tabular f

¨

ur MS Excel

50 / 57

Page 51: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Add-In Tabular f

¨

ur MS Excel

51 / 57

Page 52: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Add-In Tabular f

¨

ur MS Excel

52 / 57

Page 53: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Add-In Tabular f

¨

ur MS Excel

53 / 57

Page 54: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Add-In Tabular f

¨

ur MS Excel

54 / 57

Page 55: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Add-In Tabular f

¨

ur MS Excel

55 / 57

Page 56: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Inhaltsverzeichnis

1 Einleitung und MotivationEinfuhrendes BeispielTrueSkill-ModellMicrosoft ExcelZiel des Vortrags

2 TabularWas ist Tabular?Wofur braucht man Tabular?Funktionsweise

Konstruktion eines probabilistischen ModellsUbersetzung in Fun

Update

3 Vorstellung des Add-Ins

4 Referenzen

56 / 57

Page 57: Probabilistic to MS Excel Tobias Bringing Probabilistic ... · PDF fileBringing Probabilistic Programming to MS Excel Tobias Standop Einleitung und Motivation Einf¨uhrendes Beispiel

BringingProbabilisticProgrammingto MS Excel

TobiasStandop

Einleitung undMotivation

EinfuhrendesBeispiel

TrueSkill-Modell

Microsoft Excel

Ziel des Vortrags

Tabular

Was ist Tabular?

Wofur brauchtman Tabular?

Funktionsweise

Konstruktion

Ubersetzung inFun

Update

Add-In

Quellen

Quellen & Literatur

Herbrichs, R. et al.:”TrueSkill: A Bayesian Skill Rating

System“.

Microsoft Excelhttps://de.wikipedia.org/wiki/Microsoft_Excel

57 / 57