Skip to content

Commit 9327794

Browse files
Junpeng Laotwiecki
Junpeng Lao
authored andcommitted
Clean up GLM doc (#2241)
* [WIP] clean up GLM doc * pm.glm.glm -> pm.glm.GLM.from_formula * pm.glm.plot_posterior_predictive -> pm.plot_posterior_predictive_glm * remove find_MAP and used default init * More clean up * more clean up * GLM doc clean up last notebook. change to a slidely different example.
1 parent 3d83c6d commit 9327794

9 files changed

+2095
-2021
lines changed

docs/source/notebooks/GLM-linear.ipynb

+35-59
Large diffs are not rendered by default.

docs/source/notebooks/GLM-logistic.ipynb

+297-1,380
Large diffs are not rendered by default.

docs/source/notebooks/GLM-model-selection.ipynb

+31-77
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,7 @@
9696
{
9797
"cell_type": "code",
9898
"execution_count": 2,
99-
"metadata": {
100-
"collapsed": false
101-
},
99+
"metadata": {},
102100
"outputs": [],
103101
"source": [
104102
"from collections import OrderedDict\n",
@@ -135,9 +133,7 @@
135133
{
136134
"cell_type": "code",
137135
"execution_count": 43,
138-
"metadata": {
139-
"collapsed": false
140-
},
136+
"metadata": {},
141137
"outputs": [],
142138
"source": [
143139
"def generate_data(n=20, p=0, a=1, b=1, c=0, latent_sigma_y=20):\n",
@@ -267,7 +263,7 @@
267263
" with pm.Model() as models[nm]:\n",
268264
"\n",
269265
" print('\\nRunning: {}'.format(nm))\n",
270-
" pm.glm.glm(fml, df, family=pm.glm.families.Normal())\n",
266+
" pm.glm.GLM.from_formula(fml, df, family=pm.glm.families.Normal())\n",
271267
"\n",
272268
" # For speed, we're using Metropolis here\n",
273269
" traces[nm] = pm.sample(5000, pm.Metropolis())[1000::5]\n",
@@ -356,9 +352,7 @@
356352
{
357353
"cell_type": "code",
358354
"execution_count": 4,
359-
"metadata": {
360-
"collapsed": false
361-
},
355+
"metadata": {},
362356
"outputs": [
363357
{
364358
"data": {
@@ -407,9 +401,7 @@
407401
{
408402
"cell_type": "code",
409403
"execution_count": 5,
410-
"metadata": {
411-
"collapsed": false
412-
},
404+
"metadata": {},
413405
"outputs": [],
414406
"source": [
415407
"n = 12\n",
@@ -427,9 +419,7 @@
427419
{
428420
"cell_type": "code",
429421
"execution_count": 6,
430-
"metadata": {
431-
"collapsed": false
432-
},
422+
"metadata": {},
433423
"outputs": [
434424
{
435425
"data": {
@@ -467,9 +457,7 @@
467457
{
468458
"cell_type": "code",
469459
"execution_count": 7,
470-
"metadata": {
471-
"collapsed": false
472-
},
460+
"metadata": {},
473461
"outputs": [],
474462
"source": [
475463
"dfs_lin = df_lin.copy()\n",
@@ -489,9 +477,7 @@
489477
{
490478
"cell_type": "code",
491479
"execution_count": 8,
492-
"metadata": {
493-
"collapsed": false
494-
},
480+
"metadata": {},
495481
"outputs": [],
496482
"source": [
497483
"dfs_lin_xlims = (dfs_lin['x'].min() - np.ptp(dfs_lin['x'])/10,\n",
@@ -530,9 +516,7 @@
530516
{
531517
"cell_type": "code",
532518
"execution_count": 9,
533-
"metadata": {
534-
"collapsed": false
535-
},
519+
"metadata": {},
536520
"outputs": [
537521
{
538522
"name": "stderr",
@@ -573,9 +557,7 @@
573557
{
574558
"cell_type": "code",
575559
"execution_count": 10,
576-
"metadata": {
577-
"collapsed": false
578-
},
560+
"metadata": {},
579561
"outputs": [
580562
{
581563
"data": {
@@ -620,9 +602,7 @@
620602
{
621603
"cell_type": "code",
622604
"execution_count": 11,
623-
"metadata": {
624-
"collapsed": false
625-
},
605+
"metadata": {},
626606
"outputs": [
627607
{
628608
"name": "stderr",
@@ -639,7 +619,7 @@
639619
"source": [
640620
"with pm.Model() as mdl_ols_glm:\n",
641621
" # setup model with Normal likelihood (which uses HalfCauchy for error prior)\n",
642-
" pm.glm.glm('y ~ 1 + x', df_lin, family=pm.glm.families.Normal())\n",
622+
" pm.glm.GLM.from_formula('y ~ 1 + x', df_lin, family=pm.glm.families.Normal())\n",
643623
" \n",
644624
" traces_ols_glm = pm.sample(2000)"
645625
]
@@ -654,9 +634,7 @@
654634
{
655635
"cell_type": "code",
656636
"execution_count": 12,
657-
"metadata": {
658-
"collapsed": false
659-
},
637+
"metadata": {},
660638
"outputs": [
661639
{
662640
"data": {
@@ -728,9 +706,7 @@
728706
{
729707
"cell_type": "code",
730708
"execution_count": 44,
731-
"metadata": {
732-
"collapsed": false
733-
},
709+
"metadata": {},
734710
"outputs": [
735711
{
736712
"name": "stdout",
@@ -815,9 +791,7 @@
815791
{
816792
"cell_type": "code",
817793
"execution_count": 45,
818-
"metadata": {
819-
"collapsed": false
820-
},
794+
"metadata": {},
821795
"outputs": [
822796
{
823797
"name": "stdout",
@@ -916,9 +890,7 @@
916890
{
917891
"cell_type": "code",
918892
"execution_count": 46,
919-
"metadata": {
920-
"collapsed": false
921-
},
893+
"metadata": {},
922894
"outputs": [],
923895
"source": [
924896
"dfll = pd.DataFrame(index=['k1','k2','k3','k4','k5'], columns=['lin','quad'])\n",
@@ -941,9 +913,7 @@
941913
{
942914
"cell_type": "code",
943915
"execution_count": 47,
944-
"metadata": {
945-
"collapsed": false
946-
},
916+
"metadata": {},
947917
"outputs": [
948918
{
949919
"data": {
@@ -987,9 +957,7 @@
987957
{
988958
"cell_type": "code",
989959
"execution_count": 30,
990-
"metadata": {
991-
"collapsed": false
992-
},
960+
"metadata": {},
993961
"outputs": [
994962
{
995963
"data": {
@@ -1038,9 +1006,7 @@
10381006
{
10391007
"cell_type": "code",
10401008
"execution_count": 48,
1041-
"metadata": {
1042-
"collapsed": false
1043-
},
1009+
"metadata": {},
10441010
"outputs": [
10451011
{
10461012
"data": {
@@ -1063,9 +1029,7 @@
10631029
{
10641030
"cell_type": "code",
10651031
"execution_count": 49,
1066-
"metadata": {
1067-
"collapsed": false
1068-
},
1032+
"metadata": {},
10691033
"outputs": [
10701034
{
10711035
"data": {
@@ -1086,9 +1050,7 @@
10861050
{
10871051
"cell_type": "code",
10881052
"execution_count": 50,
1089-
"metadata": {
1090-
"collapsed": false
1091-
},
1053+
"metadata": {},
10921054
"outputs": [
10931055
{
10941056
"data": {
@@ -1116,9 +1078,7 @@
11161078
{
11171079
"cell_type": "code",
11181080
"execution_count": 51,
1119-
"metadata": {
1120-
"collapsed": false
1121-
},
1081+
"metadata": {},
11221082
"outputs": [
11231083
{
11241084
"data": {
@@ -1154,9 +1114,7 @@
11541114
{
11551115
"cell_type": "code",
11561116
"execution_count": 52,
1157-
"metadata": {
1158-
"collapsed": false
1159-
},
1117+
"metadata": {},
11601118
"outputs": [
11611119
{
11621120
"data": {
@@ -1222,9 +1180,7 @@
12221180
{
12231181
"cell_type": "code",
12241182
"execution_count": 53,
1225-
"metadata": {
1226-
"collapsed": false
1227-
},
1183+
"metadata": {},
12281184
"outputs": [
12291185
{
12301186
"data": {
@@ -1260,9 +1216,7 @@
12601216
{
12611217
"cell_type": "code",
12621218
"execution_count": 54,
1263-
"metadata": {
1264-
"collapsed": false
1265-
},
1219+
"metadata": {},
12661220
"outputs": [
12671221
{
12681222
"data": {
@@ -1399,14 +1353,14 @@
13991353
"metadata": {
14001354
"anaconda-cloud": {},
14011355
"kernelspec": {
1402-
"display_name": "Python [default]",
1356+
"display_name": "Python 3",
14031357
"language": "python",
14041358
"name": "python3"
14051359
},
14061360
"language_info": {
14071361
"codemirror_mode": {
14081362
"name": "ipython",
1409-
"version": 3.0
1363+
"version": 3
14101364
},
14111365
"file_extension": ".py",
14121366
"mimetype": "text/x-python",
@@ -1420,14 +1374,14 @@
14201374
"87b986ac3e5a43ec859cf10e013f2955": {
14211375
"views": [
14221376
{
1423-
"cell_index": 9.0
1377+
"cell_index": 9
14241378
}
14251379
]
14261380
},
14271381
"f1f05f8da738419e8e2c54ee1809c61c": {
14281382
"views": [
14291383
{
1430-
"cell_index": 47.0
1384+
"cell_index": 47
14311385
}
14321386
]
14331387
}
@@ -1436,5 +1390,5 @@
14361390
}
14371391
},
14381392
"nbformat": 4,
1439-
"nbformat_minor": 0
1440-
}
1393+
"nbformat_minor": 1
1394+
}

docs/source/notebooks/GLM-negative-binomial-regression.ipynb

+91-80
Large diffs are not rendered by default.

docs/source/notebooks/GLM-robust-with-outlier-detection.ipynb

+88-104
Large diffs are not rendered by default.

docs/source/notebooks/GLM-robust.ipynb

+50-51
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)