mirror of
https://github.com/Magnus167/rustframe.git
synced 2025-08-20 04:00:01 +00:00
Enhance documentation with usage examples for statistical routines and utilities
This commit is contained in:
parent
d1dd7ea6d2
commit
e6964795e3
@ -1,3 +1,16 @@
|
|||||||
|
//! Algorithms and statistical utilities built on top of the core matrices.
|
||||||
|
//!
|
||||||
|
//! This module groups together machine‑learning models and statistical helper
|
||||||
|
//! functions. For quick access to basic statistics see [`stats`](crate::compute::stats), while
|
||||||
|
//! [`models`](crate::compute::models) contains small learning algorithms.
|
||||||
|
//!
|
||||||
|
//! ```
|
||||||
|
//! use rustframe::compute::stats;
|
||||||
|
//! use rustframe::matrix::Matrix;
|
||||||
|
//!
|
||||||
|
//! let m = Matrix::from_vec(vec![1.0, 2.0, 3.0], 3, 1);
|
||||||
|
//! assert_eq!(stats::mean(&m), 2.0);
|
||||||
|
//! ```
|
||||||
pub mod models;
|
pub mod models;
|
||||||
|
|
||||||
pub mod stats;
|
pub mod stats;
|
||||||
|
@ -1,3 +1,16 @@
|
|||||||
|
//! Covariance and correlation helpers.
|
||||||
|
//!
|
||||||
|
//! This module provides routines for measuring the relationship between
|
||||||
|
//! columns or rows of matrices.
|
||||||
|
//!
|
||||||
|
//! ```
|
||||||
|
//! use rustframe::compute::stats::correlation;
|
||||||
|
//! use rustframe::matrix::Matrix;
|
||||||
|
//!
|
||||||
|
//! let x = Matrix::from_vec(vec![1.0, 2.0, 3.0, 4.0], 2, 2);
|
||||||
|
//! let cov = correlation::covariance(&x, &x);
|
||||||
|
//! assert!((cov - 1.25).abs() < 1e-8);
|
||||||
|
//! ```
|
||||||
use crate::compute::stats::{mean, mean_horizontal, mean_vertical, stddev};
|
use crate::compute::stats::{mean, mean_horizontal, mean_vertical, stddev};
|
||||||
use crate::matrix::{Axis, Matrix, SeriesOps};
|
use crate::matrix::{Axis, Matrix, SeriesOps};
|
||||||
|
|
||||||
|
@ -1,3 +1,15 @@
|
|||||||
|
//! Descriptive statistics for matrices.
|
||||||
|
//!
|
||||||
|
//! Provides means, variances, medians and other aggregations computed either
|
||||||
|
//! across the whole matrix or along a specific axis.
|
||||||
|
//!
|
||||||
|
//! ```
|
||||||
|
//! use rustframe::compute::stats::descriptive;
|
||||||
|
//! use rustframe::matrix::Matrix;
|
||||||
|
//!
|
||||||
|
//! let m = Matrix::from_vec(vec![1.0, 2.0, 3.0, 4.0], 2, 2);
|
||||||
|
//! assert_eq!(descriptive::mean(&m), 2.5);
|
||||||
|
//! ```
|
||||||
use crate::matrix::{Axis, Matrix, SeriesOps};
|
use crate::matrix::{Axis, Matrix, SeriesOps};
|
||||||
|
|
||||||
pub fn mean(x: &Matrix<f64>) -> f64 {
|
pub fn mean(x: &Matrix<f64>) -> f64 {
|
||||||
|
@ -1,3 +1,16 @@
|
|||||||
|
//! Probability distribution functions applied element-wise to matrices.
|
||||||
|
//!
|
||||||
|
//! Includes approximations for the normal, uniform and gamma distributions as
|
||||||
|
//! well as the error function.
|
||||||
|
//!
|
||||||
|
//! ```
|
||||||
|
//! use rustframe::compute::stats::distributions;
|
||||||
|
//! use rustframe::matrix::Matrix;
|
||||||
|
//!
|
||||||
|
//! let x = Matrix::from_vec(vec![0.0], 1, 1);
|
||||||
|
//! let pdf = distributions::normal_pdf(x.clone(), 0.0, 1.0);
|
||||||
|
//! assert!((pdf.get(0,0) - 0.3989).abs() < 1e-3);
|
||||||
|
//! ```
|
||||||
use crate::matrix::{Matrix, SeriesOps};
|
use crate::matrix::{Matrix, SeriesOps};
|
||||||
|
|
||||||
use std::f64::consts::PI;
|
use std::f64::consts::PI;
|
||||||
|
@ -1,3 +1,14 @@
|
|||||||
|
//! Basic inferential statistics such as t‑tests and chi‑square tests.
|
||||||
|
//!
|
||||||
|
//! ```
|
||||||
|
//! use rustframe::compute::stats::inferential;
|
||||||
|
//! use rustframe::matrix::Matrix;
|
||||||
|
//!
|
||||||
|
//! let a = Matrix::from_vec(vec![1.0, 2.0], 2, 1);
|
||||||
|
//! let b = Matrix::from_vec(vec![1.1, 1.9], 2, 1);
|
||||||
|
//! let (t, _p) = inferential::t_test(&a, &b);
|
||||||
|
//! assert!(t.abs() < 1.0);
|
||||||
|
//! ```
|
||||||
use crate::matrix::{Matrix, SeriesOps};
|
use crate::matrix::{Matrix, SeriesOps};
|
||||||
|
|
||||||
use crate::compute::stats::{gamma_cdf, mean, sample_variance};
|
use crate::compute::stats::{gamma_cdf, mean, sample_variance};
|
||||||
|
@ -1,3 +1,16 @@
|
|||||||
|
//! Statistical routines for matrices.
|
||||||
|
//!
|
||||||
|
//! Functions are grouped into submodules for descriptive statistics,
|
||||||
|
//! correlations, probability distributions and basic inferential tests.
|
||||||
|
//!
|
||||||
|
//! ```
|
||||||
|
//! use rustframe::compute::stats;
|
||||||
|
//! use rustframe::matrix::Matrix;
|
||||||
|
//!
|
||||||
|
//! let m = Matrix::from_vec(vec![1.0, 2.0, 3.0, 4.0], 2, 2);
|
||||||
|
//! let cov = stats::covariance(&m, &m);
|
||||||
|
//! assert!((cov - 1.25).abs() < 1e-8);
|
||||||
|
//! ```
|
||||||
pub mod correlation;
|
pub mod correlation;
|
||||||
pub mod descriptive;
|
pub mod descriptive;
|
||||||
pub mod distributions;
|
pub mod distributions;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user