From 1c66dfa97af0e48753d2923a5ecd98869299706e Mon Sep 17 00:00:00 2001 From: AJ Rossini Date: Fri, 12 Sep 2008 08:11:52 +0200 Subject: [PATCH] another experimental structure from a new morning. --- src/stat-models/likelihood-clos.lisp | 67 ++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/stat-models/likelihood-clos.lisp diff --git a/src/stat-models/likelihood-clos.lisp b/src/stat-models/likelihood-clos.lisp new file mode 100644 index 0000000..12d1dcb --- /dev/null +++ b/src/stat-models/likelihood-clos.lisp @@ -0,0 +1,67 @@ +;;; -*- mode: lisp -*- + +;;; File: likelihood-clos.lisp +;;; Time-stamp: <2008-09-05 18:56:59 tony> +;;; Creation: <2008-03-11 19:18:34 user> +;;; Author: AJ Rossini +;;; Copyright: (c)2008, AJ Rossini. BSD, LLGPL, or GPLv2, depending +;;; on how it arrives. +;;; Purpose: likelihood package for lispstat + +;;; What is this talk of 'release'? Klingons do not make software +;;; 'releases'. Our software 'escapes', leaving a bloody trail of +;;; designers and quality assurance people in its wake. + +;;; This organization and structure is new to the 21st Century +;;; version. + +;;; likelihood-clos.lisp +;;; +;;; redoing likelihood computations in a CLOS based framework. + +(in-package :cl-user) + +(defpackage :lisp-stat-likelihood-clos + (:use :common-lisp + :lisp-stat-optimize) + (:export likelihood-model ;; data structure + maximize-likelihood ;; optimize + report)) ;; tell about what we have + +(in-package :lisp-stat-regression-linear-clos) + + +(defclass likelihood-model (statistical-model) + ((function :initform nil + :initarg :function :accessor function) + (estimable-vars :initform nil + :initarg :est-vars :accessor est-vars) + (data-vars :initform nil + :initarg :data-vars :accessor data-vars) + (description :initform "" :initarg :descr :accessor descr) + (needs-computing :initform T :initarg :compute? :accessor compute?) + (:documentation "Likelihood Model through CLOS."))) + +(defclass prior (statistical-model) + ((function :initform nil + :initarg :function :accessor function) + (estimable-vars :initform nil + :initarg :est-vars :accessor est-vars) + (data-vars :initform nil + :initarg :data-vars :accessor data-vars) + (description :initform "" :initarg :descr :accessor descr) + (needs-computing :initform T :initarg :compute? :accessor compute?) + (:documentation "Likelihood Model through CLOS."))) + +(defclass inference-framework (statistical-model) + ((inference-type :initform nil + :initarg :inf-type :accessor inf-type) + (priors :initform nil) + (description :initform nil :initarg :descr :accessor descr)) + (:documentation "inference framework, including priors")) + +(defgeneric maximize-likelihood (likelihood inference-framework &optional prior)) + +(defgeneric maximize-likelihood (likelihood prior inference-framework)) + + -- 2.11.4.GIT