stata-nmf

Non-negative Matrix Factorisation for Stata.

https://github.com/jonathanbatty/stata-nmf

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.1%) to scientific vocabulary

Keywords

dimensionality-reduction non-negative-matrix-factorization stata unsupervised-machine-learning
Last synced: 6 months ago · JSON representation ·

Repository

Non-negative Matrix Factorisation for Stata.

Basic Info
  • Host: GitHub
  • Owner: jonathanbatty
  • License: mit
  • Language: Stata
  • Default Branch: main
  • Homepage:
  • Size: 22.3 MB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 2
Topics
dimensionality-reduction non-negative-matrix-factorization stata unsupervised-machine-learning
Created over 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

NMF in Stata

StataMin issues license version release Stars


Installation | Syntax | Examples | Feedback | Change log | Roadmap


Non-negative Matrix Factorisation (NMF) for Stata

(v1.01, 18 Jan 2024)

This repository contains a number of implementations of non-negative matrix factorisation (NMF) using simple multiplicative update rules, implemented in Stata using optimised Mata functions.

Installation

The package can be installed from GitHub using net install:

``` net install nmf, from("https://raw.githubusercontent.com/jonathanbatty/stata-nmf/main/installation/") replace

```

Syntax

The syntax for nmf is as follows:

``` nmf varlist, k() [options]

[options] = epoch() initial() loss() stop() nograph() ```

See the help file using help nmf for full details of each option.

The most basic usage is as follows:

nmf colvar_*, k(n)

Whereby a factorisation of the matrix stored in colvar1, colvar2, colvar3, ... , colvarn will be performed, resulting in matrices W and H of rank n. The resulting matrices will be stored in frames W and H and can be accessed using frame change W and frame change H, respectively. A summary of the loss parameters by epoch can be viewed using frame change error. Note: return to the original dataframe using frame change default.

Examples

Examples of running NMF in 4 different contexts are given in ./examples/. These use the sample datasets included with the nmf package: faces.dta, nsclc.dta and trajectories.dta.

Feedback

Please open an issue to report errors, suggest feature enhancements, and/or make any other requests.

Change Log

v1.00 (16/01/24) - Initial release.

v1.01 (18/01/24) - Added examples of applications. - Minor bug fixes.

Roadmap

  • Tentative plan to implement core NMF solver using C++ plugin for speed and stability.

Acknowledgements

This project was funded by the AI for Science and Government Fund, via the Alan Turing Institute Health Programme (TU/ASG/R-SPEH-114). JB received funding from the Wellcome Trust 4ward North Clinical Research Training Fellowship (227498/Z/23/Z; R127002).

This work was done while JB was a member of the Survivorship and Multimorbidity Epidemiology Group at the University of Leeds, led by Dr Marlous Hall.

Suggested Citation

Batty, J. A. (2024). Stata package ``nmf'': an implementation of non-negative matrix factorisation in Stata (Version 1.0) [Computer software]. https://github.com/jonathanbatty/stata-nmf

Owner

  • Login: jonathanbatty
  • Kind: user

Citation (citation.cff)

cff-version: 1.2.0
authors:
- family-names: "Batty"
  given-names: "Jonathan A"
  orcid: "https://orcid.org/0000-0003-4102-5418"
title: "Stata package ``nmf''"
version: 1.0
date-released: 2024-01-19
url: "https://github.com/jonathanbatty/stata-nmf"

GitHub Events

Total
Last Year