Spec-Zone.ru › Nim

std/stats

SourceEdit

Статистическая аналитическая система для выполнения базового статистического анализа данных. Данные анализируются за один проход, когда они передаются в объект RunningStat или RunningRegress.

RunningStat вычисляет для одного набора данных

  • n (количество данных)
  • min (наименьшее значение)
  • max (наибольшее значение)
  • сумма
  • среднее значение
  • дисперсия
  • varianceS (дисперсия выборки)
  • стандартное отклонение
  • standardDeviationS (стандартное отклонение выборки)
  • асимметрия (третий статистический момент)
  • эксцесс (четвёртый статистический момент)

RunningRegress вычисляет для двух наборов данных

  • n (количество данных)
  • наклон
  • пересечение
  • корреляция

Предоставлены процедуры для расчёта статистики для openArray.

Однако, если требуется более одного статистического расчёта, эффективнее передать данные один раз в объект RunningStat и затем вызвать многочисленные статистические процедуры для объекта RunningStat:

Пример:

import std/stats
from std/math import almostEqual

template `~=`(a, b: float): bool = almostEqual(a, b)

var statistics: RunningStat  # must be var
statistics.push(@[1.0, 2.0, 1.0, 4.0, 1.0, 4.0, 1.0, 2.0])
doAssert statistics.n == 8
doAssert statistics.mean() ~= 2.0
doAssert statistics.variance() ~= 1.5
doAssert statistics.varianceS() ~= 1.714285714285715
doAssert statistics.skewness() ~= 0.8164965809277261
doAssert statistics.skewnessS() ~= 1.018350154434631
doAssert statistics.kurtosis() ~= -1.0
doAssert statistics.kurtosisS() ~= -0.7000000000000008

Импорты

math

Типы

RunningRegress = object
  n*: int                    ## amount of pushed data
  x_stats*: RunningStat      ## stats for the first set of data
  y_stats*: RunningStat      ## stats for the second set of data
  ## accumulated data for combined xy
Аккумулятор для расчётов регрессии. Source Edit
RunningStat = object
  n*: int                    ## amount of pushed data
  min*, max*, sum*: float    ## self-explaining
  ## statistical moments, mom1 is mean
Аккумулятор для статистических данных. Source Edit

Процедуры

proc `$`(a: RunningStat): string {....raises: [], tags: [], forbids: [].}
Produces a string representation of the RunningStat. The exact format is currently unspecified and subject to change. Currently it contains:
  • количество проб
  • минимальные и максимальные значения
  • сумму, среднее значение и стандартное отклонение.
Исходный код Редактировать
proc `+`(a, b: RunningRegress): RunningRegress {....raises: [], tags: [],
    forbids: [].}

Объединяет два объекта RunningRegress.

Полезно при параллельном анализе рядов данных и необходимости повторного объединения параллельных наборов результатов

Исходный код Редактировать
proc `+`(a, b: RunningStat): RunningStat {....raises: [], tags: [], forbids: [].}

Объединяет два объекта RunningStat.

Полезно при параллельном анализе рядов данных и необходимости повторного объединения параллельных наборов результатов.

Исходный код Редактировать
proc `+=`(a: var RunningRegress; b: RunningRegress) {....raises: [], tags: [],
    forbids: [].}
Добавляет RunningRegress b к a. Исходный код Редактировать
proc `+=`(a: var RunningStat; b: RunningStat) {.inline, ...raises: [], tags: [],
    forbids: [].}
Добавляет RunningStat b к a. Исходный код Редактировать
proc clear(r: var RunningRegress) {....raises: [], tags: [], forbids: [].}
Сбрасывает r. Исходный код Редактировать
proc clear(s: var RunningStat) {....raises: [], tags: [], forbids: [].}
Сбрасывает s. Исходный код Редактировать
proc correlation(r: RunningRegress): float {....raises: [], tags: [], forbids: [].}
Вычисляет текущую корреляцию двух наборов данных, добавленных в r. Исходный код Редактировать
proc intercept(r: RunningRegress): float {....raises: [], tags: [], forbids: [].}
Вычисляет текущий коэффициент свободного члена r. Исходный код Редактировать
proc kurtosis(s: RunningStat): float {....raises: [], tags: [], forbids: [].}
Вычисляет текущий эксцесс генеральной совокупности s. Исходный код Редактировать
proc kurtosis[T](x: openArray[T]): float
Вычисляет эксцесс генеральной совокупности x. Исходный код Редактировать
proc kurtosisS(s: RunningStat): float {....raises: [], tags: [], forbids: [].}
Вычисляет текущий эксцесс выборки s. Исходный код Редактировать
proc kurtosisS[T](x: openArray[T]): float
Вычисляет эксцесс выборки x. Исходный код Редактировать
proc mean(s: RunningStat): float {....raises: [], tags: [], forbids: [].}
Вычисляет текущее среднее значение s. Исходный код Редактировать
proc mean[T](x: openArray[T]): float
Вычисляет среднее значение x. Исходный код Редактировать
proc push(r: var RunningRegress; x, y: float) {....raises: [], tags: [],
    forbids: [].}
Добавляет два значения x и y для обработки. Исходный код Редактировать
proc push(r: var RunningRegress; x, y: int) {.inline, ...raises: [], tags: [],
    forbids: [].}

Добавляет два значения x и y для обработки.

x и y преобразуются в float, и вызывается другая операция добавления.

Исходный код Редактировать
proc push(r: var RunningRegress; x, y: openArray[float | int])
Добавляет два набора значений x и y для обработки. Исходный код Редактировать
proc push(s: var RunningStat; x: float) {....raises: [], tags: [], forbids: [].}
Добавляет значение x для обработки. Исходный код Редактировать
proc push(s: var RunningStat; x: int) {....raises: [], tags: [], forbids: [].}

Добавляет значение x для обработки.

x просто преобразуется в float, и вызывается другая операция добавления.

Исходный код Редактировать
proc push(s: var RunningStat; x: openArray[float | int])

Добавляет все значения из x для обработки.

Целочисленные значения из x просто преобразуются в float, и вызывается другая операция добавления.

Исходный код Редактировать
proc skewness(s: RunningStat): float {....raises: [], tags: [], forbids: [].}
Вычисляет текущий эксцесс генеральной совокупности s. Исходный код Редактировать
proc skewness[T](x: openArray[T]): float
Вычисляет эксцесс генеральной совокупности x. Исходный код Редактировать
proc skewnessS(s: RunningStat): float {....raises: [], tags: [], forbids: [].}
Вычисляет текущий эксцесс выборки s. Исходный код Редактировать
proc skewnessS[T](x: openArray[T]): float
Вычисляет эксцесс выборки x. Исходный код Редактировать
proc slope(r: RunningRegress): float {....raises: [], tags: [], forbids: [].}
Вычисляет текущий наклон r. Исходный код Редактировать
proc standardDeviation(s: RunningStat): float {....raises: [], tags: [],
    forbids: [].}
Вычисляет текущее стандартное отклонение генеральной совокупности s. Исходный код Редактировать
proc standardDeviation[T](x: openArray[T]): float
Вычисляет стандартное отклонение генеральной совокупности x. Исходный код Редактировать
proc standardDeviationS(s: RunningStat): float {....raises: [], tags: [],
    forbids: [].}
Вычисляет текущую выборочную стандартную ошибку s. Исходный код Изменить
proc standardDeviationS[T](x: openArray[T]): float
Вычисляет выборочную стандартную ошибку x. Исходный код Изменить
proc variance(s: RunningStat): float {....raises: [], tags: [], forbids: [].}
Вычисляет текущую дисперсию генеральной совокупности s. Исходный код Изменить
proc variance[T](x: openArray[T]): float
Вычисляет дисперсию генеральной совокупности x. Исходный код Изменить
proc varianceS(s: RunningStat): float {....raises: [], tags: [], forbids: [].}
Вычисляет текущую выборочную дисперсию s. Исходный код Изменить
proc varianceS[T](x: openArray[T]): float
Вычисляет выборочную дисперсию x. Исходный код Изменить

© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/stats.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API