Numerical Methods. College 1 A. Introductie B. Python. A.A.N. Ridder

Vergelijkbare documenten
Programmeren en Wetenschappelijk Rekenen in Python. Wi1205AE I.A.M. Goddijn, Faculteit EWI 22 april 2014

Programmeren en Wetenschappelijk Rekenen in Python. Wi1205AE I.A.M. Goddijn, Faculteit EWI 13 mei 2014

BSc Kunstmatige Intelligentie. : Bachelor Kunstmatige Intelligentie Studiejaar, Semester, Periode : semester 1, periode 2

Colloquium: Start. Econometrics & Operations Research. Charles S. Bos. 1 september Vrije Universiteit Amsterdam

Cover Page. The handle holds various files of this Leiden University dissertation

Inleiding programmeren

Knowledge

Praktische informatie. m.b.t. College. Lineaire Algebra en Beeldverwerking. Bachelor Informatica. 1e jaar. Voorjaar semester 2012

Cursus Programmeren en Dataverwerking.

Scientific Computing

Praktische informatie m.b.t. College Lineaire Algebra en Beeldverwerking Bachelor Informatica en Economie 2 e jaar Voorjaar semester 2013 Docent:

Afstudeeropdracht bachelor informatica

Introductie in flowcharts

Python voor dataanalyse

Vorig jaar in 5v cluster, tot en met OO hoofdstukken, geen problemen. Nu in mengcluster, tot OO hoofdstukken, wel problemen bij 4h leerlingen

NP2.5w3 Eigenwaarden. Eigenwaarden. VU Numeriek Programmeren 2.5. Charles Bos. Vrije Universiteit Amsterdam 1A april /26

Programmeren en Wetenschappelijk Rekenen in Python. Wi1205AE I.A.M. Goddijn, Faculteit EWI 15 mei 2014

Curriculum: Het vervolg

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010

Studiehandleiding. Calculus 2 voor Wiskunde en Natuurkunde november en december 2007

Curriculum Informatica 2003/04

Het computationeel denken van een informaticus Maarten van Steen Center for Telematics and Information Technology (CTIT)

Numerical Methods. College 5: Numerieke Integratie (Hoofdstuk 5) A.A.N. Ridder

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Tentamen Calculus B (2WBB1) op maandag 28 januari 2013, 14:00 17:00 uur

Studiehandleiding. Differentiëren en Integreren 3. voor. Wiskunde, Natuurkunde en Medische Natuurwetenschappen

SPSS Introductiecursus. Sanne Hoeks Mattie Lenzen

Oplossingen hoofdstuk 8

ANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK EN BEHANDELING (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM

Practicum Ox intro. Practicum Ox intro. VU Numeriek Programmeren 2.5. Charles Bos. Vrije Universiteit Amsterdam. 3 april /18

Self Service BI. de business

Dat zoeken we op! NIOC

Colloquium: Informatie en contact

Opdracht 2. Deadline maandag 28 september 2015, 24:00 uur.

Premaster Accounting and Control Vrije Universiteit Amsterdam - Fac. der Economische Wet. en Bedrijfsk. - P Accounting and Control

Risico s van Technologisch Succes in digitale transformatie S T R A T E G I C A D V I S O R

Vrije Universiteit 28 mei Gebruik van een (niet-grafische) rekenmachine is toegestaan.

Vinger aan de pols bij Bouwkunde

Stochastiek 2. Inleiding in the Mathematische Statistiek. staff.fnwi.uva.nl/j.h.vanzanten

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Examination 2DL04 Friday 16 november 2007, hours.

Replacement course / vervangend vak

Programma Bachelor- en Masteropleiding Informatica

Bijlagen gentie. Bijlage. Bijlage. Bijlage - - vakgebied. Educatie en. Major van. Minor van

Programma Open dag Tilburg University Zaterdag 8 oktober 2016 Toelichting en overzicht

Presentatie Rapportage Met SAP Business Objects

Model Driven Software Development: Geen toekomst maar realiteit. 4 juni 2009, WTC, Amsterdam.

LDA Topic Modeling. Informa5ekunde als hulpwetenschap. 9 maart 2015

SHICO: SHIFTING CONCEPTS OVER TIME

Studiewijzer Calculus A voor T (2DS05), cursus 2011/2012

Vier voorbeelden van Fourier

De indeling van de sector Natuur

U I T S P R A A K

A.C. Gijssen. 0.3 PHP en MySQL

Taco Schallenberg Acorel

B.Sc. Informatica Module 4: Data & Informatie

Programmaoverzicht Bachelor Open dag

Hoofdstuk 1. Illustratie 2

Postacademische opleiding (PGO) Business Analytics & Data Science

Lineaire algebra en vectorcalculus

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 22 februari 2013

Probleem met dobbelspel. 2IP05: Programmeren Blok A. 5 spelers,2 dobbelstenen. wstomv/edu/2ip05/ Per ronde werpt elke speler 1

Inleiding Statistiek

STUDEERWIJZER 2009/2010 voor STATISTIEK 1 (2DD29)

Colloquium: Informatie en contact

Bijlagen bacheloropleiding Kunstmatige Intelligentie

Werken met SNAP pakketten in Ubuntu 16.04

Bijlagen van het onderwijs- en Examenreglement van de bacheloropleiding Technische Bedrijfskunde

Ontwikkeling van simulationbased serious games ten behoeve van logistieke besluitvorming

Computerspellen in soorten en maten

Inhoud. Introductie tot de cursus

Online Resource 1. Title: Implementing the flipped classroom: An exploration of study behaviour and student performance

Matlab introductie. Kees Vuik

Het oplossen van vergelijkingen Voor het benaderen van oplossingen van vergelijkingen van de vorm F(x)=0 bespreken we een aantal methoden:

Hoofdstuk 3 : Numerieke beschrijving van data. Marnix Van Daele. Vakgroep Toegepaste Wiskunde en Informatica Universiteit Gent

Stichting NIOC en de NIOC kennisbank

Citation for published version (APA): van der Ploeg, J. (1997). Instrumental variable estimation and group-asymptotics Groningen: s.n.

Tentamen Mathematische Statistiek (2WS05), dinsdag 3 november 2009, van uur.

Hoorcollege 1 datavisualisatie

Creatief onderzoekend leren

Beveiliging in Industriële netwerken. Waarom monitoring een goed idee is

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

Een model voor personeelsbesturing van Donk, Dirk

Automaten & Complexiteit (X )

Premaster Communicatie- en Informatiewetenschappen Vrije Universiteit Amsterdam - Faculteit der Geesteswetenschappen - P Communicatie- en

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

URBAN SCIENCE. Professor Nanda Piersma Michael Hogenboom

University of Groningen. Stormy clouds in seventh heaven Meijer, Judith Linda

Modulewijzer tirprog02/infprg01, programmeren in Java 2

Studiewijzer BACHELOR KUNSTMATIGE INTELLIGENTIE EXTRA KEUZENVAK VAK: C++ PROGRAMMEERMETHODEN

Overzicht. Eigenwaarden. Beurzen en afhankelijkheid. Eigenwaarden: Intro

Socio-technisch systemen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 2 Slide 1

Introductie tot de cursus

WISB134 Modellen & Simulatie. Lecture 4 - Scalaire recursies

Classification of triangles

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

Lineaire Algebra WI1048WbMt. I.A.M. Goddijn, Faculteit EWI 4 september 2016

Werken met Google Docs en Google Drive

Beschrijving onderwijseenheden

Programmaoverzicht. Bachelor Open dag 3 februari Page 1 of 6

Fundamentele. Informatica 1. Eerste college: introductie

Transcriptie:

Numerical Methods College 1 A. Introductie B. Python A.A.N. Ridder Department EOR Vrije Universiteit Amsterdam Huispagina: http://personal.vu.nl/a.a.n.ridder/numprog/default.htm 6 september 2016 c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 1 / 28

Introductie c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 2 / 28

Doel Kennis van standaard/klassieke numerieke methoden en algoritmes voor EOR problemen. In staat om die methoden toe te passen op numerieke problemen. Vaardigheid om die methoden te implementeren in een vierde generatie computertaal (Python in periode 1; Ox in periode 2). Rapportage van resultaten (numeriek en grafisch!). c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 3 / 28

Opzet Periode 1 6 weken (week 36 t/m 41). Afwisselende 7 hoor/werkcollege op maan- en dinsdagen. Check het rooster (zie ook volgende slide). Tijdens deze colleges ligt nadruk op behandelen van opgaven. De stof word je geacht vooraf te hebben bestudeerd uit boek, Internet en notities van de docent. Woensdagen (11:00-12:45 respectievelijk 13:30-15:15) Python practicum in 5B-06. Inschrijven voor practicumgroep via VuNet. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 4 / 28

Rooster van de Colleges nr datum tijd zaal onderwerp hst 1 di 6/9 11:00-12:45 12A-33 Introductie 2 di 13/9 11:00-12:45 12A-33 Python 3 ma 19/9 13:30-15:15 5A-33 Floating Point 1 4 di 20/9 11:00-12:45 12A-33 Nulpunten 3 5 di 27/9 11:00-12:45 15A-33 Interpolatie 4 6 di 4/10 11:00-12:45 15A-33 Integratie 5 7 ma 10/10 13:30-15:15 5A-33 Splines 6 c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 5 / 28

Boek In dit college wordt gebruikt E.W. Cheney & David Kincaid Numerical Mathematics And Computing Brooks/Cole; International edition of 7th revised edition (2012). De 6-th edition is ook goed genoeg (weinig inhoudelijke veranderingen, wel andere nummering en volgorde). Te verkrijgen bij Kraket of boekhandel. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 6 / 28

Wat Zal Behandeld Worden Uit Boek? Periode 1. Hoofdstuk 1. Floating point representation. Hoofdstuk 3. Nonlinear systems (nulpunten van functies). Hoofdstuk 4. Interpolation. Hoofdstuk 5. Numerical integration. Hoofdstuk 6. Splines. Periode 2. Hoofdstuk 2. Linear systems. Hoofdstuk 8. More on Linear systems. Hoofdstuk 9. Kleinste kwadraten. Hoofdstuk 10. Monte Carlo methods (simulatie). Hoofdstuk 13. Minimalizatie. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 7 / 28

Python In periode 1 wordt geprogrammeerd in Python. Practicum op de woensdagen van 11:00-12:45 of 13:30-15.15 uur in 5B-06. Verplicht drietal computeropdrachten in te leveren bij voorkeur in groepjes van twee. Opdrachten worden bekend gemaakt via Internet / Blackboard. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 8 / 28

Website en BlackBoard De huispagina is http://personal.vu.nl/a.a.n.ridder/numprog/default.htm Bevat Notities van de onderwerpen. Opgaven voor de colleges. Computeropgaven voor de practica. De programmeeropdrachten. Voorbeeldprogramma s in Python. Oude tentamens. Links naar online Python tutorials en handleidingen. De pdf documenten komen ook op de Blackboard pagina. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 9 / 28

Beoordeling 1. Deel 1 (periode 1): > Drie programmeeropdrachten (Python) moeten voldoende zijn (mag in groepjes van 2). > Schriftelijk toets op donderdag 27 oktober (individueel). Cijfer T 1 {1, 1.5,..., 10}. 2. Deel 2 (periode 2): > Programmeeropdrachten (Ox) moeten voldoende zijn. > Schriftelijk toets (individueel). Cijfer T 2 {1, 1.5,..., 10}. 3. Individuele opdracht. I = 0 als voldoende. I = 1 als onvoldoende of niet gedaan Eindcijfer: max{1, 0.5T 1 + 0.5T 2 2I}. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 10 / 28

Wat Zijn Numerieke Methoden? Computerberekeningen voor complexe problemen in wetenschappelijke disciplines,... economie/econometrie operations research wiskundige economie wiskunde/statistiek Met andere woorden: oplossen van problemen zoals je gewend was op de middelbare school, maar nu op een aantal hogere niveaus en met computer ipv GR. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 11 / 28

Typisch EOR Voorbeeld: Maximum Likelihood (MLE) 300 Gegeven data x 1, x 2,..., x n > 0 van schadeclaims bij een verzekeraar. Men vermoedt dat de data uit een Weibull verdeling komen: f (x) = αλ(λx) α 1 e (λx)α. Probleem: bereken of schat de parameters α, λ. 200 100 0. 0 10 10 20 20 30 30 40 40 50 n 1000 mean 9.788890 variance 153.051664 skewness 2.776043 kurtosis 13.541569 50 60 c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 12 / 28

Numerieke Uitwerking van MLE Likelihood is een functie van de parameters α, λ: n L(α, λ) = f (x i ). i=1 Uitwerken en log nemen: l(α, λ) = log L(α, λ) = n n n log α + αn log λ + (α 1) log x i (λx i ) α. i=1 i=1 Numeriek probleem: los op max{l(α, λ) : α, λ > 0}. 2-D onvoorwaardelijke optimalisering. Verschillende methoden met bijbehorende algoritmes. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 13 / 28

Een Numerieke Methode van MLE FOC: nulpunten van de partiële eerste afgeleiden: l(α, λ) = 0; dα l(α, λ) = 0. dλ Na enige calculus krijg je λ = ( n/ xi α ) 1/α en 1 α + 1 n n log x i i=1 x α i log(x i ) n i=1 xα i Dit is een niet-lineaire vergelijking in α (herinner dat de data x i beschikbare getallen zijn). = 0. Heet ook wel nulpuntprobleem. Vele numerieke nulpuntmethoden. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 14 / 28

Nulpunt Zoeken voor α Plot van de functie H(α) = 1/α + n i=1 log x i/n x α i log(x i )/ n i=1 xα i. H(α) 8 6 4 2 0 2 0 0.4 0.8 1.2 1.6 2 α Nulpuntmethoden worden behandeld in Hoofdstuk 3. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 15 / 28

Wetenschappelijke Methode Een groter probleem wordt gestructureerd aangepakt. A. Probleembeschrijving. B. Abstracte (wiskundige of statistische) modellering: variabelen; relaties; functies;... C. Data verzamelen. D. Valideer wiskundig model. E. Ontwikkel een computerprogramma > gebaseerd op numerieke methoden (algoritmes). > of een simulatiemodel. F. Verifieer computerprogramma. G. Voer uit en rapporteer. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 16 / 28

Data Science Tegenwoordig het vakgebied waar al het bovenstaande samenkomt. Gebaseerd op zogeheten Big Data. Interdisciplinair. Uit Wikipedia: Data science employs techniques and theories drawn from many fields within the broad areas of mathematics, statistics, operations research, information science, and computer science, including signal processing, probability models, machine learning, statistical learning, data mining, database, data engineering, pattern recognition and learning, visualization, predictive analytics, uncertainty modeling, data warehousing, data compression, computer programming, artificial intelligence, and high performance computing. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 17 / 28

Programmeren Een belangrijk onderdeel in data science. Stap E in de wetenschappelijke methode. Probleem wordt gevisualiseerd, geanalyseerd, opgelost door de computer berekeningen te laten uitvoeren. Computer krijgt opdrachten via een computerprogramma. Programma is geschreven in een computertaal. Computertaal is de intermediair tussen de wetenschapper (en programmeur) en de computer. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 18 / 28

Welke Computertaal? Een lijstje van talen waarvan je uit elke categorie er minstens één zou moeten kennen en kunnen, zie http://spectrum.ieee.org/computing/software/ the-2015-top-ten-programming-languages Voor een lijst met alle belangrijke computertalen, zie http://www.tiobe.com/tiobe_index Mijn lijst: > Algemeen: C, C++, Java. > Web, apps: PHP, Javascript, Ruby, Swift, C#. > Numeriek: Matlab/Octave, Julia, Mathematica, Ox. > Data science: Python, R. Elke taal heeft voor- en nadelen. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 19 / 28

In het Vak Numerical Methods Periode 1: Python. Periode 2: Ox. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 20 / 28

PYTHON c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 21 / 28

Citaties Uit https://generalassemb.ly/blog/ the-8-most-in-demand-programming-languages-of-2016/ What is it? > Python is an object-oriented programming language that is known for its clear syntax and readability. What can you do with it? > Python can be used to program web and desktop applications. It is also heavily used in the sciences to analyze data. Whats the learning curve like? > It is fairly easy to learn compared to more verbose languages like Java or C++. Who uses Python? > Data engineers, data scientists, and developers. Python is not industry specific, but task specificgreat for data processing, business intelligence, and some application development. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 22 / 28

Waarom Niet Python? Enige overwegingen. Python is een geïnterpreteerde taal en dus trager dan gecompileerde talen zoals C, C#, Java, Julia, Swift,... Geen commerciële ondersteuning. R heeft beter en meer statistiekmethoden. Voor data science, de vergelijking tussen Python en R is op https://thenextweb.com/dd/2016/04/08/ start-using-python-andor-r-data-science-one-best/ Matlab heeft beter en meer optimaliseringsmethoden. Voor ontwikkelen van apps of dynamische websites zijn andere talen beter geschikt. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 23 / 28

Python Versies Sinds 2008 een schisma : Python 2 versus Python 3. Huidige versies: > Python 2.7 (sinds 2010) subversie 2.7.12 (2016). > Python 3.5 (sinds 2015) subversie 3.5.2 (2016). Python 2 wordt niet verder ontwikkeld! Python 3 is de toekomst van deze computertaal. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 24 / 28

Beschikbaarheid Python op de VU Python 2 is in computerzalen van de faculteit (versie 2.7.6). Distributie is Python(x,y). Helaas, de IT afdeling van de VU lukt het niet om daarnaast Python 3 te installeren op het netwerk. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 25 / 28

Python Installeren op Eigen PC of Laptop Zelf downloaden en installeren op je PC of laptop is simpel (en gratis). Ga naar https://www.python.org en download je favoriete versie. Je moet zelf pakketten (modules) toevoegen, een tekst-editor uitzoeken, enz. Noodzakelijk zijn modules numpy, matplotlib, en scipy. Communicatie tussen Python en je bestanden uitzoeken. Eenvoudiger is een complete distributie te installeren zoals Python(x,y), WinPython, Anaconda, PyCharm, etc > Python(x,y): https://python-xy.github.io > WinPython: http://winpython.github.io > Anaconda: https://www.continuum.io > PyCharm: https://www.jetbrains.com/pycharm/ c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 26 / 28

Belangrijke Componenten voor Wetenschappelijk Python Numpy: voorziet vector en matrix types voor numerieke en statistische berekeningen. Scipy: bevat numerieke routines (integratie, interpolatie, nulpunten, optimalisering, enz). Matplotlib: voor plotten (grafieken, histograms, enz). Pandas: voor data-structuren. IPython/Jupyter: interactieve Python omgeving met commando input en resultaat output, vergelijkbaar met Matlab of Mathematica. Het vervangt de standaard Python interpreter. De distrubuties van de vorige slide bevatten alle bovenstaande onderdelen en komen ook met een geïntegreerde editor Spyder. c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 27 / 28

Python Beginselen (tijdens college) c Ad Ridder (VU) Numerical Methods Periode 1 (2016-2017) 28 / 28