lin regr example; must debug, factor into regression.lisp
[CommonLispStat.git] / src / stat-models / likelihood-clos.lisp
blob12d1dcb2cc4d3be3d815797d9d50c66898d87c28
1 ;;; -*- mode: lisp -*-
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
8 ;;; on how it arrives.
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
16 ;;; version.
18 ;;; likelihood-clos.lisp
19 ;;;
20 ;;; redoing likelihood computations in a CLOS based framework.
22 (in-package :cl-user)
24 (defpackage :lisp-stat-likelihood-clos
25 (:use :common-lisp
26 :lisp-stat-optimize)
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))