Data Science Challenge - Tipps & Links zu Notebooks und Datensätzen Friedrich Loser Techniker Krankenkasse - actuview

Die Seite wird erstellt Nikolas-Stefan Nickel
 
WEITER LESEN
Data Science Challenge - Tipps & Links zu Notebooks und Datensätzen Friedrich Loser Techniker Krankenkasse - actuview
Data Science Challenge
Tipps & Links zu Notebooks und Datensätzen

                     Friedrich Loser
                     Techniker Krankenkasse

                                              e-Jahrestagung, April 2020
Data Science Challenge - Tipps & Links zu Notebooks und Datensätzen Friedrich Loser Techniker Krankenkasse - actuview
e-Jahrestagung 2020

Inhaltsverzeichnis

Agenda
1. Die Challenge
2. R und Python
3. Jupyter Notebooks
4. Arbeiten in der Cloud
5. Datensätze (und Analysen)
6. Anregungen

                                          2
Data Science Challenge - Tipps & Links zu Notebooks und Datensätzen Friedrich Loser Techniker Krankenkasse - actuview
e-Jahrestagung 2020

Data-Science-Challenge: Aufgabe, Umsetzung und Termin
            Identifizierung eines typischen Problems, denen ein DAV-Mitglied oder
            eine Person in der Versicherungswirtschaft gegenübersteht, und
 Aufgabe
            Erstellung einer Lösung unter Verwendung prädiktiver Modellierungs-
            techniken auf praktische, neuartige und lehrreiche Weise

                          Fokus dieser Präsentation
            •   Die Analyse muss in R oder Python verfasst sein
            •   Erläuterungen in Textform (Deutsch oder Englisch)
            •   Einreichung als Jupyter-Notebook (max. 20 MB)
Umsetzung
            •   Verwendung eines öffentlichen Datensatzes
            •   Aus der Analyse darf kein Rückschluss auf die
                Teilnehmer möglich sein

            Einsendung an ads@aktuar.de ab 01.06.2020 bis 31.08.2020 mit Angabe
  Termin    von Namen, Privat- und email-Adressen, Telefonnummer (Kontaktperson)    3
Data Science Challenge - Tipps & Links zu Notebooks und Datensätzen Friedrich Loser Techniker Krankenkasse - actuview
e-Jahrestagung 2020

Data-Science-Challenge: Teilnahme, Bewertung und Preise
              Teilnahmeberechtigt sind DAV-Mitglieder sowie in die Aktuarausbildung
              eingeschriebene Interessent*innen
              • Teilnahme einzeln oder in einer Gruppe von max. 5 Personen
 Teilnahme
              • Pro Gruppe kann nur eine Analyse eingereicht werden
              • Mitglieder einer Gruppe können zusätzlich je eine einzelne Analyse
                  einreichen (Analyse muss substantiell verschieden sein)

              Die Bewertung erfolgt durch eine vom Ausschuss ADS ernannte Jury, die
              anhand der Kriterien Originalität, Zugänglichkeit und Relevanz blind bewertet
              Gewinner des Einzelwettbewerbs: Teilnahme an max. 99
 Bewertung    Gewinner des Gruppenwettbewerbs: Teilnahme an einem DAA-Webinar
 und Preise
              Die Gewinner werden spätestens am 20. Oktober 2020 benachrichtigt
              Die Preisträger*innen erhalten zudem die Möglichkeiten ihre Analysen in der
              Fachgruppe ADS im Rahmen der Herbsttagung vorzustellen

 Regelwerk    Die vollständigen Teilnahmebedingungen stehen bereit auf www.aktuar.de
                                                                                              4
Data Science Challenge - Tipps & Links zu Notebooks und Datensätzen Friedrich Loser Techniker Krankenkasse - actuview
e-Jahrestagung 2020

2. Data Science mit R und Python: Literatur und Links
R:                                                                        Python:
• „Introduction to Statistical Learning“                                  • „Numerisches Python: Arbeiten mit
  http://faculty.marshall.usc.edu/gareth-james/ISL/ (free)
                                                                            NumPy, Matplotlib und Pandas“
• „R for Data Science“
Data Science Challenge - Tipps & Links zu Notebooks und Datensätzen Friedrich Loser Techniker Krankenkasse - actuview
e-Jahrestagung 2020

3. Jupyter Notebook: Grundlagen             Aktueller Browser nötig (kein IE)

Jupyter Notebook (JN) ist eine web-            http://localhost:8888/tree
browser basierte Programmierumgebung:
• Ein JN kann Code mit Ergebnis sowie
  Text-Elemente (+Bilder & Formeln) und
  Gliederungselemente enthalten
• Jupyter unterstützt (mindestens) die
  Sprachen Julia, Python und R
• Jupyter ist eine sprachunabhängige
  Verallgemeinerung von IPython, daher
  auch die Dateiendung .ipynb
• Jupyter, R und Python (samt ML-
  Bibliotheken wie Scikit-Learn) sind
  Teil der Anaconda-Distribution:
  https://www.anaconda.com/distribution/                                        6
Data Science Challenge - Tipps & Links zu Notebooks und Datensätzen Friedrich Loser Techniker Krankenkasse - actuview
e-Jahrestagung 2020

3. Elemente eines Jupyter Notebooks: Beispiel

                                                                                                                            7
                        Zum Ausprobieren: https://www.kaggle.com/floser/glm-neural-nets-and-xgboost-for-insurance-pricing
e-Jahrestagung 2020

3. Jupyter Notebooks: Links, Installation R-Kernel
• Kurzer Erklärfilm (4‘): „Einführung                        Für R-User: Installation des R Kernel
  in die Jupyter Notebooks - Python“
  https://www.youtube.com/watch?v=tpLk-FC9kHI                1. Anaconda Terminal starten

• „What is the Jupyter Notebook?”                            2. Ins Verzeichnis von R.exe wechseln:
  https://jupyter-notebook-beginner-                         z.B. cd C:\Program Files\R\R-3.6.1\bin\x64
  guide.readthedocs.io/en/latest/what_is_jupyter.html

• „Jupyter Notebook Tutorial: The                            3. R.exe starten, Package IRkernel
  Definitive Guide”                                          installieren und installspec() ausführen:
  https://www.datacamp.com/community/tutorials/tutorial-     > install.packages('IRkernel')
  jupyter-notebook
                                                             > IRkernel::installspec()
• Beispiele
  a) https://github.com/jupyter/jupyter/wiki/A-gallery-of-   Anleitung:
  interesting-Jupyter-Notebooks , b) https://jupyter-        https://projectosyo.wixsite.com/datadoubleconfirm/single-
  notebook.readthedocs.io/en/stable/examples/Notebook/       post/2019/09/15/Installing-R-kernel-in-Jupyter
  examples_index.html (u.a. Formeln)

• Website https://jupyter.org/
  (u.a. NBViewer)                                            „Nicht gleich loslegen, es gibt Alternativen“
                                                                                                                         8
e-Jahrestagung 2020

4. Lokales Arbeiten vs. Cloud Computing mit Kaggle
Lokales Arbeiten:                            Kaggle (für Nutzer kostenlos):
 Software und Bibliotheken installieren      Alles Wesentliche bereits vorinstalliert
                                              Direkter Zugriff auf >10.000 Datensätze
 Datensätze herunterladen
                                               und >100.000 Notebooks (R & Python)
 Rechenpower organisieren                    Cloudcomputing incl. GPU & TPU
 Teamarbeit umständlich                      Arbeiten als Team sehr einfach

                                             Live Demo: R-Notebook
                                             # DAV Data Science Challenge 2020: Test-Notebook

                                             library(ChainLadder)
                                             m
e-Jahrestagung 2020

4. Live Demo: R-Notebook

                                   10
e-Jahrestagung 2020

Inhaltsverzeichnis

Agenda
1. Die Challenge
2. R und Python
3. Jupyter Notebooks
4. Arbeiten in der Cloud
5. Datensätze (und Analysen)
6. Anregungen

                                          11
e-Jahrestagung 2020

5. Regression auf Basis kleinerer Datensätze
• Hitters: Einkommensprognose von Baseball-Spielern
  322 Datensätze mit 20 Variablen (17 num.) je Athlet
• Boston House Prices
  506 Datensätze mit 13 numerischen Werten je Stadtbezirk
• Ames House Prices (Ziel: Komplexere Alternative zu Boston)
  2930 Datensätze mit 80 Variablen für Häuser in Ames, Iowa
• California House Prices
  20.640 Datensätze mit 8 numerischen Werten (u.a. GPS) je „Block“

Diese Datensätze stammen aus verschiedenen Quellen und sind alle als
Kaggle Datasets verfügbar (Boston und California auch in Scikit-Learn)
Gemeinsamkeiten: Features numerisch, zahlreiche Notebooks verfügbar
                                                                         12
e-Jahrestagung 2020

5. Klassifikation auf Basis einfacher Datensätze
Binäre Klassifikation:
• Breast Cancer Wisconsin
  569 Datensätze mit (bis zu) 30 Messwerten
Multidimensionale Klassifikation:
• Iris
  150 Datensätze mit je 4 Messwerten für drei Schwertlinienarten
• MNIST („‚Hello World‘ of image recognition“)
  70.000 Bilder mit je 28*28 Pixel von handgeschriebenen Ziffern (0-9)
  bzw. „Digits“: 5620 Bilder mit 8*8 Pixel von handgeschriebenen Ziffern

Diese Datensätze stammen aus dem UCI Machine Learning Repository,
sind als Kaggle Datasets verfügbar und auch in Scikit-Learn enthalten.
Gemeinsamheiten: Features numerisch, zahlreiche Notebooks verfügbar        13
e-Jahrestagung 2020

5. Klassifikation am Beispiel Betrugserkennung
Kleiner Versicherungsdatensatz (für kurze Laufzeiten):
• „Insurance_Claims.csv“: 1.000 Datensätze mit 39 div. Merkmalen
  Auf GitHub und Kaggle gleich mehrfach zu finden, z.B. https://www.kaggle.com/roshansharma/insurance-claim

Darauf aufbauende Notebooks: Highlights
• „buntyshah“: einfache Datenaufbereitung, Plots, lightGBM, AUC
   https://www.kaggle.com/buntyshah/insurance-fraud-claims-detection

• „roshansharma“: Interessante Graphiken & Ensembles, Explainer (SHAP)
   https://www.kaggle.com/roshansharma/fraud-detection-in-insurance-claims/notebook

Bankdatensatz: „Credit Card Fraud Detection“
                                                                                              Fraud
• 492 frauds out of 284,807 transactions, 28 features
  https://www.kaggle.com/mlg-ulb/creditcardfraud                                              Datasets
                                                                                              auf Kaggle:
Notebook: Daniel Falbel, "Predicting Fraud with Autoencoders and Keras"
https://blogs.rstudio.com/tensorflow/posts/2018-01-24-keras-fraud-autoencoder/                125             14
e-Jahrestagung 2020

5. Lebensversicherung
Human Mortality Database: https://www.mortality.org
• Bestand, Todesfälle und Sterberaten in langen Zeitreihen für über 38 Länder
Aktuelle Veröffentlichungen:
•   „The maximum entropy mortality model: forecasting mortality using statistical moments”
    https://www.tandfonline.com/doi/full/10.1080/03461238.2019.1596974

•   „A Neural Network Extension of the Lee-Carter Model to Multiple Populations”
    https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3270877

•   Caser Study 6: „Lee and Carter go Machine Learning: Recurrent Neural Networks”
    https://www.actuarialdatascience.org/ADS-Tutorials/

Post-Level Term Lapse and Mortality:
Umfangreiche Kündigungsdaten für Verträge mit 10 und 15-jähriger Laufzeit
•   „SOA 2014 Post Level Term Lapse & Mortality Report”
    https://www.soa.org/resources/experience-studies/2014/research-2014-post-level-shock/

•   „Deep Learning Applications: Policyholder Behavior Modeling and Beyond”
    https://kevinykuo.com/talk/2018/10/soa-annual/
                                                                                             15
e-Jahrestagung 2020

5. Berufsunfähigkeit: Reaktivierung
„Group Long Term Disability Recovery“
• 818.941 Datensätze und 7 erklärende Merkmale

Analysen, R-Codes und Berichte:
• „Predicting Group Long Term Disability Recovery and Mortality Rates Using
  Tree Models”, Bericht und Daten:
  https://www.soa.org/resources/experience-studies/2017/2017-gltd-recovery-mortality-tree/

• „Machine Learning Methods for Insurance Applications“
  Bericht und R-Skripte mit Methodenvergleich (GLM, MARS, BART, Lasso, Tree, Random
  Forest, XGBoost) und Hyperparametertuning
  https://www.soa.org/resources/research-reports/2019/machine-learning-methods/

                                                                                             16
e-Jahrestagung 2020

5. Schadenreservierung
R-Package ChainLadder
Enthält einige Datensätze, z.B. RAA, MW2014 (17*17)
Funktionen: https://cran.r-project.org/web/packages/ChainLadder/ChainLadder.pdf
Bescheibung: https://cran.r-project.org/web/packages/ChainLadder/vignettes/ChainLadder.pdf

NAIC Schedule P triangles (2011)
Abwicklungsdreiecke 1988-1997 für 6 Sparten
https://www.casact.org/research/index.cfm?fa=loss_reserves_data

•    „DeepTriangle: A Deep Learning Approach to Loss Reserving” (2019)
     https://arxiv.org/pdf/1804.09253.pdf

R-package simulationmachine: “Synthesizing Individual Claims Data”
Datenbasis: 10 Mio Schäden der Schweizer Unfallversicherung (SUVA) zwischen 1994 und 2005
https://blog.kasa.ai/posts/simulation-machine/

• Individual Claims Forecasting with Bayesian Mixture Density Networks
    https://www.casact.org/research/Kuo_manuscript_2-21-20.pdf . Weitere Berichte der CAS mit Schwerpunkt Schadenversicherung:
    https://www.casact.org/research/index.cfm?fa=resproj

ADS-Tutorial in Kürze zu erwarten, siehe https://www.actuarialdatascience.org/ADS-Tutorials/                                     17
e-Jahrestagung 2020

5. Binäre Klassifikation am Beispiel KFZ-Schadenprognose
„Großer“ Datensatz: Kaggle-Wettbewerb „Porto Seguro“, 2017
• „train.csv“: 595.212 Datensätze mit 59 Merkmalen inkl. Target
 Daten: https://www.kaggle.com/c/porto-seguro-safe-driver-prediction/data ,
 Gewinner: https://www.kaggle.com/c/porto-seguro-safe-driver-prediction/discussion/44629

Notebooks: Highlights
• Erfolgsmodell (Kopie): Aufbereitung und Modellierung der 2.Plazierten
  https://www.kaggle.com/floser/study-2nd-place-lightgbm-solution

• ADS-Tutorial 4 (Kopie): Umfassende Datenanalyse und Modellierung
  https://www.kaggle.com/floser/ads-t4-boosting-claims-predictions (AdaBoost & XGBoost, 2019)

• … und über 100 weitere, teils exzellente Notebooks wie das von
  „gpreda“: Vollständiger Ablauf von EDA bis lightGBM-Stack incl. Tuning
  https://www.kaggle.com/gpreda/porto-seguro-exploratory-analysis-and-prediction
                                                                                                18
e-Jahrestagung 2020

5. Weitere Schadenversicherungsdatensätze
„Allstate Claims Severity“ (Auto): Wettbewerb 2016
• „train.csv“: 188.318 Schäden mit Höhe und 130 erklärenden Merkmalen
  Daten & Skripte: https://www.kaggle.com/c/allstate-claims-severity/
  Gewinner 2.Platz: https://medium.com/kaggle-blog/allstate-claims-severity-competition-2nd-place-winners-interview-alexey-noskov-f4e4ce18fcfc

„French MTPL“ (R-Package CASdatasets)
a) Schadenhäufigkeit: freMTPLfreq2 (678.031 Policen, 9 „sprechende“ Merkmale)
• ADS-T3 (Kopie): Nesting Classical Actuarial Models into Neural Networks
   https://www.kaggle.com/floser/nesting-poission-glms-into-nns
• GLM, Neural Nets and XGBoost for Insurance Pricing
   https://www.kaggle.com/floser/glm-neural-nets-and-xgboost-for-insurance-pricing

b) Schadenhöhen: freMTPLsev2 (Achtung: Fehlende Schäden)

Feuerversicherung „Liberty Mutual“: Wettbewerb 2014 (pre-Notebook)
• „train.csv“: 452 061 Verträge, 1.188 Schäden, 300 Merkmale, u.a. Wetter
  Daten: https://www.kaggle.com/c/liberty-mutual-fire-peril/data/
  Bericht 6.Platz: http://www.casact.org/education/rpm/2015/handouts/Paper_3896_handout_2468_0.pdf (Over-Fitting)                                19
e-Jahrestagung 2020

6. Anregungen

… falls noch unschlüssig:
• Ggf. passende Teildatensätze auswählen und untersuchen
• Von anderen Branchen übertragen
• Bestehende Notebooks „übersetzen“ z.B. von R in Python und um
  eigene Ideen ergänzen
• Alternativen zu GLMs ausprobieren (klassische Statistik und ML)
• Einfach mal anfangen …

                   Vielen Dank für Ihr Interesse!
                                                                    20
Sie können auch lesen