simulacion

Notas para el curso de licenciatura en Simulación @ITAM

https://github.com/agarbuno/simulacion

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (3.4%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Notas para el curso de licenciatura en Simulación @ITAM

Basic Info
  • Host: GitHub
  • Owner: agarbuno
  • License: mit
  • Language: R
  • Default Branch: latest
  • Homepage:
  • Size: 59.6 MB
Statistics
  • Stars: 13
  • Watchers: 3
  • Forks: 16
  • Open Issues: 0
  • Releases: 2
Created about 4 years ago · Last pushed over 2 years ago
Metadata Files
Readme License Citation

README.org

#+TITLE: EST-24107: Simulacin
#+AUTHOR: Prof. Alfredo Garbuno Iigo
#+EMAIL:  agarbuno@itam.mx
#+DATE: ~Otoo, 2023~
#+STARTUP: showall inlineimages
#+EXCLUDE_TAGS: toc github latex

[[https://github.com/agarbuno/simulacion/actions/workflows/docker.yml/badge.svg]] [[https://img.shields.io/docker/pulls/agarbuno/simulacion.svg?logo=docker]] [[https://img.shields.io/docker/image-size/agarbuno/simulacion/notas.svg?logo=docker]] [[https://img.shields.io/github/languages/top/agarbuno/simulacion.svg?logo=r]] [[https://img.shields.io/github/languages/code-size/agarbuno/simulacion.svg?logo=r]] [[https://zenodo.org/badge/493864430.svg]]

* Contenido                                                             :toc:
:PROPERTIES:
:TOC:      :include all  :ignore this :depth 3
:END:
:CONTENTS:
- [[#introduccin][Introduccin]]
- [[#contexto][Contexto]]
- [[#objetivo][Objetivo]]
- [[#temario][Temario]]
  - [[#de-qu-trata-el-curso][De qu trata el curso?]]
  - [[#tenemos-un-libro-de-texto][Tenemos un libro de texto?]]
- [[#recursos][Recursos]]
- [[#ambiente-de-trabajo][Ambiente de trabajo]]
  - [[#ambiente-de-desarrollo-grfico-integrado-ide][Ambiente de desarrollo grfico integrado (IDE)]]
  - [[#versin-de-r][Versin de R]]
  - [[#todos-trabajando-igual][Todos trabajando igual]]
  - [[#configuracin-renv][Configuracin renv]]
:END:

* Introduccin                                                       :github:

Este es el repositorio con el contenido del curso en simulacin de la
licenciatura en Actuara del ITAM impartido por el Prof. Alfredo Garbuno.

* Contexto

Este el curso de ~EST-24107: Simulacin~. Lo conoceremos como ~simulacin estocstica~ o ~cuantificacin de incertidumbre~.

#+REVEAL: split
El curso se imparte en el plan de estudios de Actuara (~sexto semestre~).
Esta materia tambin es ofrecida de manera simultnea para alumnos en las
licenciaturas de matemticas aplicadas, ciencia de datos y economa como materia
optativa.

* Objetivo

El objetivo del curso es introducir al estudiante a distintos ~mtodos de simulacin~ de variables aleatorias. Esto con la intencin de aprender y conocer
herramientas tiles y bien fundamentadas que pueden utilizarse en distintas
aplicaciones en matemticas aplicadas, actuara, estadstica o ciencia de
datos.

#+REVEAL: split
El curso, adems, utilizar distintas herramientas computacionales para
brindar al estudiante un marco de trabajo reproducible. Al final del curso, lxs
estudiantes tendrn las competencias para:

1. ~implementar~ principios de modelado estadstico de ciertos fenmenos
   relevantes en el quehacer de un cientfico aplicado;
2. ser capaces de ~interpretar~ resultados computacionales basados en simulacin
   estocstica;
3. ~apreciar~ la necesidad de un ambiente reproducible de entrega de resultados;
   por nombrar algunas.

#+REVEAL: split
El curso en particular utilizar herramientas de cdigo abierto:  ~R~ como
lenguaje de programacin y ~GitHub~ como gestor de entrega y avance de tareas y
trabajos.

#+REVEAL: split
El curso est pensando para cursarse despus de haber acreditado ~Clculo de Probabilidades II~ (o equivalente). Sin embargo, se aprovechar mejor si se
lleva a la par junto con =Procesos Estocsticos I= y =Estadstica Matemtica= (o
equivalentes).

* Temario

El temario para el semestre de Otoo 2023 se puede encontrar [[https://github.com/agarbuno/simulacion/blob/fall-2022/docs/temario.pdf][aqui]]. Este es un
plan preliminar que est sujeto al avance del curso a lo largo del semestre.

** De qu trata el curso?

En el curso estudiaremos mtodos de ~simulacin estocstica~ con el fin de
explorar realizaciones aleatorias de modelos de probabilidad. Esto nos permitir: 
1. ~Explorar~ de manera computacional ~distribuciones de probabilidad generales~.
2. Resolver problemas numricos de ~integracin~.
3. Resolver problemas numricos de ~optimizacin~.

#+REVEAL: split
El enfoque del curso es poder utilizar lo que sabemos de modelado probabilstico
y utilizarlo en tareas donde es necesario /cuantificar/ la /incertidumbre/ expresada
en dicho modelo. Adems de [[cref:fig-uq]] 

#+REVEAL: split
#+DOWNLOADED: screenshot @ 2022-06-24 17:44:20
#+name: fig-uq
#+attr_html: :width 1200 :align center
[[file:images/20220624-174420_screenshot.png]]

#+REVEAL: split
#+DOWNLOADED: screenshot @ 2023-08-07 14:13:40
#+attr_html: :width 1200 :align center
[[file:./images/oscar-wilde.png]]


#+REVEAL: split
#+DOWNLOADED: screenshot @ 2023-08-07 14:13:59
#+attr_html: :width 900 :align center
[[file:./images/vader.jpg]]


** Tenemos un libro de texto?

No hay un libro que utilice la misma lnea argumentativa que seguiremos en el
curso, pero secciones se tomarn de [cite:@Glasserman2013;@Robert2013a;@Efron1993].

#+DOWNLOADED: screenshot @ 2022-06-24 18:30:51
#+attr_html: :width 900 :align center
[[file:images/20220624-183051_screenshot.png]]

* Recursos

El repositorio tiene la siguiente estructura:
#+begin_src bash :exports results :results org :eval never
tree -L 1 -d 
#+end_src

#+RESULTS:
#+begin_src org
.
 docs     # Handouts de las notas de clase. 
 images   
 notas    # Cdigo fuente que utilizo para generar las notas. 
 renv     # Archivos de estructura del proyecto. 
 rscripts # Scripts de R con el cdigo de clase. 

5 directories
#+end_src

* Ambiente de trabajo

Las notas y el material estar construido a partir de [[https://www.r-project.org/][R]]. En particular,
utilizaremos algunas herramientas del [[https://www.tidyverse.org/][tidyverse]] como herramienta de programacin
dentro de ~R~. Esto ofrece un ambiente unificado de distintas libreras enfocadas
al manejo de estructura de datos y visualizaciones, lo cual ser muy til para
las aplicaciones de nuestro curso.

#+REVEAL: split
En particular utilizaremos:
1. [[https://tibble.tidyverse.org/][tibble]] para estructura de datos. 
2. [[https://dplyr.tidyverse.org/][dplyr]] para manipular las estructuras de datos. 
3. [[https://tidyr.tidyverse.org/][tidyr]] para manipular estructuras tabulares de datos.
4. [[https://purrr.tidyverse.org/][purrr]] para tener una ambiente funcional de programacin. 
5. [[https://ggplot2.tidyverse.org/][ggplot2]] para crear visualizaciones con una gramtica.
6. [[https://rsample.tidymodels.org/][rsample]] para utilizar tcnicas de remuestreo. 

** Ambiente de desarrollo grfico integrado (IDE)

Como herramienta de trabajo se sugiere utilizar +[[https://www.rstudio.com/products/rstudio/download/][Rstudio]]+ [[https://code.visualstudio.com/][Visual Studio Code]] para
poder trabajar en sus proyectos y sus tareas. En particular, el material de
clase es editado en [[https://www.gnu.org/software/emacs/][GNU Emacs]] a travs de =orgfiles= (archivos de texto plano con
sufijo ~.org~) pero pueden ser visualizados en ~Github~.

** Versin de ~R~

*Importante*: Es necesario tener instalada la versin ~4.3.1~ de ~R~ para tener la mejor
compatibilidad con el cdigo del curso.

** Todos trabajando igual

Utilizaremos ~renv~ para mantener actualizada las herramientas de ~R~ junto con el
contenido del curso. En la carpeta se encuentran los archivos de requerimientos
(=renv.lock=) con el que podrn usar los archivos que se vayan decantando en la
carpeta =rscripts=. An asi, la configuracin se ir construyendo en los
ejercicios de tarea que vayamos utilizando en el curso.

** Gestin de libreras: ~renv~

Si utilizas ~MacOS~ o alguna distribucin ~Linux~ se recomienda escribir en el
archivo =~/.Renviron= la siguiente lnea lo cual mantendr el cache de ~renv~ en un
lugar centralizado

#+begin_src conf :tangle ~/.Renviron :mkdirp yes
  RENV_PATHS_ROOT=~/.renv
#+end_src


** Trabajando con ambiente ~Dockerizado~

Mi idea de ambiente computacional es el que se puede reproducir en cualquier
sistema operativo. Para esto ~Docker~ es la herramienta ideal y el uso de los
~Codespaces~ de GitHub ha resultado increble para una solucin dentro de un
mbito educativo.

#+REVEAL: split
Para la imagen ~agarbuno/simulacion~ consideren que: 
1) El /tag/ ~notas~ basado en una distribucin linux en una emulacin con un
   procesador ~Intel~, tiene la configuracin mnima necesaria para poder
   reproducir el ambiente de cmputo para poder ejecutar el material del curso

#+REVEAL: split
Esto no les puede decir mucho, pero bsicamente con el combo 
~Docker~ + ~Visual Code Studio~, tod@s tenemos la misma computadora para trabajar! .  
Y si lo quieren correr en la nube entonces: ~Docker~ + ~Visual Code Studio~ + ~Github Codespaces~  $\times 10^{78}$.

#+REVEAL: split
~Importante~: No espero que sepan reproducir ustedes la configuracin del ambiente de 
trabajo. Si les interesa podemos organizar una sesin para discutir esto a profundidad.
Lo importante es que lo sepan utilizar en su computadora o en un explorador de internet.
Esto es, que pueden utilizarlo para las prcticas del curso. 


* COMMENT Referencias                                                        :noexport:
:PROPERTIES:
:CUSTOM_ID: bibliography
:END:

#+print_bibliography:

* COMMENT Agenda                                                           :noexport:

| Seccin | Sesiones | Tema                         |        da |
|---------+----------+------------------------------+------------|
|       0 |        1 | Administrativia              | 2023-08-08 |
|       0 |        1 | Github                       | 2023-08-10 |
|       0 |        1 | Introduccin R               | 2023-08-15 |
|       1 |        1 | Generadores pseudo-uniformes | 2023-08-17 |
|       1 |        1 | Tarea: pseudo uniformes      | 2023-08-22 |
|       3 |        2 | Generadores no uniformes     |            |
|       4 |        3 | Integracin Monte Carlo      |            |
|       5 |        2 | Reduccin de varianza        |            |




Owner

  • Name: Alfredo Garbuno Iñigo
  • Login: agarbuno
  • Kind: user
  • Location: Mexico City
  • Company: ITAM

Bayesian inference, non-parametric Bayesian models, MCMC algorithms, Kernel Methods, Data assimilation, Langevin dynamics

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Dependencies

.github/workflows/docker.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action v3 composite
  • docker/login-action v2 composite
  • docker/setup-buildx-action v2 composite
.devcontainer/Dockerfile docker
  • agarbuno/simulacion notas build
Dockerfile docker
  • rocker/verse 4.3.1 build