Data Science Challenge - Tipps & Links zu Notebooks und Datensätzen Friedrich Loser Techniker Krankenkasse - actuview
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Data Science Challenge Tipps & Links zu Notebooks und Datensätzen Friedrich Loser Techniker Krankenkasse e-Jahrestagung, April 2020
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
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
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
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“
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
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