point: non-implemented code describes a possible data analysis approach to implement...
[CommonLispStat.git] / src / probability / gaussian.lisp
blob0574e8c8b76c1c87975a1826b1508a18603ac091
1 ;;; -*- mode: lisp -*-
3 ;;; Time-stamp: <2010-11-07 11:38:53 tony>
4 ;;; Creation: <2009-03-12 17:14:56 tony>
5 ;;; File: gaussian.lisp
6 ;;; Author: AJ Rossini <blindglobe@gmail.com>
7 ;;; Copyright: (c)2009--, AJ Rossini. Currently licensed under MIT
8 ;;; license. See file LICENSE.mit in top-level directory
9 ;;; for information.
10 ;;; Purpose: Gaussian probability law structure and functions
12 ;;; What is this talk of 'release'? Klingons do not make software
13 ;;; 'releases'. Our software 'escapes', leaving a bloody trail of
14 ;;; designers and quality assurance people in its wake.
16 ;;; This organization and structure is new to the 21st Century
17 ;;; version.. Think, "21st Century Schizoid Man".
20 (in-package :cls-probability)
22 (defun gaussian-probability-density-univariate (x params))
24 (defclass gaussian-probability-parameters (probability-parameters)
25 ((mean :documentation "vector (or value) which denotes the mean structure.")
26 (variance :documentation "matrix (or value) which denotes covariance structure."))
27 :documentation "standard mean-variance parameterization for gaussian probability law.")
29 (defclass gaussian-probability-univariate-parameters (gaussian-probability-parameters)
30 ((mean :documentation "vector (or value) which denotes the mean structure."
31 :type univariate-value)
32 (variance :documentation "matrix (or value) which denotes covariance structure."
33 :type univariate-value))
34 :documentation "standard mean-variance parameterization for gaussian probability law.")
36 (defclass gaussian-probability-multivariate-parameters (gaussian-probability-parameters)
37 ((mean :documentation "vector (or value) which denotes the mean structure."
38 :type array-like)
39 (variance :documentation "matrix (or value) which denotes covariance structure."
40 :type matrix-like))
41 :documentation "standard mean-variance parameterization for gaussian probability law.")
43 (defgeneric gaussian-probability-density (x params)
44 (:documentation "general gaussian density method.")
45 (:method ((x xarray-vector)
46 (params gaussian-probability-multivariate-parameters))
47 ;; compute multivariate likelihood, and if X is something else, convert it an proceed to this method.
49 (:method ((x number)
50 (params gaussian-probability-univariate-parameters))
51 (\ (exp (* -1.0 (/ (- x (mean params))
52 (standard-deviation params ))))
53 (sqrt (* 2.0 pi (variance params))))))
57 (defclass gaussian-probability-law (probability-law)
58 (()))