-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtrain-example.lisp
26 lines (21 loc) · 1.02 KB
/
train-example.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
;;;; Martin Kersner, m.kersner@gmail.com
;;;; 2017/06/13
(defun iota-rec (lst val lower-limit)
(if (>= val lower-limit)
(iota-rec (push val lst) (1- val) lower-limit)
lst))
(defun iota (upper-limit &optional (start 0))
(iota-rec nil (+ (1- upper-limit) start) start))
(setf upper-bound '(500 1000 2000))
(setf alpha 1)
(mapcar #'(lambda (upper) (progn
(setf hypos (iota upper 1))
(setf tr (make-instance 'train
:hypos hypos
:alpha alpha))
(setf observations '(30 60 90))
(mapcar #'(lambda (v) (update tr v)) observations)
(setf cdf-train (cdf tr))
(format t "~%mean ~F~%90 % credible interval: (~F ~F)"
(mean tr) (percentile cdf-train 0.05) (percentile cdf-train 0.95))))
upper-bound)