3 ;;; File: likelihood-clos.lisp
4 ;;; Time-stamp: <2008-09-05 18:56:59 tony>
5 ;;; Creation: <2008-03-11 19:18:34 user>
6 ;;; Author: AJ Rossini <blindglobe@gmail.com>
7 ;;; Copyright: (c)2008, AJ Rossini. BSD, LLGPL, or GPLv2, depending
9 ;;; Purpose: likelihood package for lispstat
11 ;;; What is this talk of 'release'? Klingons do not make software
12 ;;; 'releases'. Our software 'escapes', leaving a bloody trail of
13 ;;; designers and quality assurance people in its wake.
15 ;;; This organization and structure is new to the 21st Century
18 ;;; likelihood-clos.lisp
20 ;;; redoing likelihood computations in a CLOS based framework.
24 (defpackage :lisp-stat-likelihood-clos
27 (:export likelihood-model
;; data structure
28 maximize-likelihood
;; optimize
29 report
)) ;; tell about what we have
31 (in-package :lisp-stat-regression-linear-clos
)
34 (defclass likelihood-model
(statistical-model)
35 ((function :initform nil
36 :initarg
:function
:accessor function
)
37 (estimable-vars :initform nil
38 :initarg
:est-vars
:accessor est-vars
)
39 (data-vars :initform nil
40 :initarg
:data-vars
:accessor data-vars
)
41 (description :initform
"" :initarg
:descr
:accessor descr
)
42 (needs-computing :initform T
:initarg
:compute?
:accessor compute?
)
43 (:documentation
"Likelihood Model through CLOS.")))
45 (defclass prior
(statistical-model)
46 ((function :initform nil
47 :initarg
:function
:accessor function
)
48 (estimable-vars :initform nil
49 :initarg
:est-vars
:accessor est-vars
)
50 (data-vars :initform nil
51 :initarg
:data-vars
:accessor data-vars
)
52 (description :initform
"" :initarg
:descr
:accessor descr
)
53 (needs-computing :initform T
:initarg
:compute?
:accessor compute?
)
54 (:documentation
"Likelihood Model through CLOS.")))
56 (defclass inference-framework
(statistical-model)
57 ((inference-type :initform nil
58 :initarg
:inf-type
:accessor inf-type
)
59 (priors :initform nil
)
60 (description :initform nil
:initarg
:descr
:accessor descr
))
61 (:documentation
"inference framework, including priors"))
63 (defgeneric maximize-likelihood
(likelihood inference-framework
&optional prior
))
65 (defgeneric maximize-likelihood
(likelihood prior inference-framework
))