NIKX-Tech / NIKX-Tech/numx

stats: skewness and kurtosis

Open
#80 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement good first issue
Dominant language
C
Stars
23
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Add numx_stats_skewness and numx_stats_kurtosis to the stats module.

numx_stats_variance already uses Welford's online algorithm for numerical stability, see the note in #59 and #57's PR about why naive summation is avoided in this codebase, follow the same care here (an online algorithm extending Welford's, e.g. tracking higher moments incrementally, is preferable to a naive sum-based formula).

Follow CONTRIBUTING.md exactly: full Doxygen header, NULL-checks, numx_status_t return, all four deliverables (header, impl, test, docs page).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the stats module's existing numx_stats_variance implementation and its Welford-algorithm context in #59 and #57's PR, then read CONTRIBUTING.md for the required format. Add the header, implementation, test, and documentation page for numx_stats_skewness and numx_stats_kurtosis, using an incrementally stable higher-moment approach with NULL checks and numx_status_t returns.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.