Skip to content

Instantly share code, notes, and snippets.

@vmonaco
vmonaco / runs_test.py
Last active February 1, 2024 04:32
Multivariate Wald-Wolfowitz test to compare the distributions of two samples
"""
Multivariate Wald-Wolfowitz test for two samples in separate CSV files.
See:
Friedman, Jerome H., and Lawrence C. Rafsky.
"Multivariate generalizations of the Wald-Wolfowitz and Smirnov two-sample tests."
The Annals of Statistics (1979): 697-717.
Given multivariate sample X of length m and sample Y of length n, test the null hypothesis:
@vmonaco
vmonaco / cmu_powerlaw.py
Last active February 21, 2020 14:19
CMU keystroke power law
'''
Created on May 26, 2015
@author: vinnie, vincent@vmonaco.com
Power-law results from:
"DATA FORENSIC TECHNIQUES USING BENFORD’S LAW AND ZIPF’S LAW FOR KEYSTROKE
DYNAMICS", Aamo Iorliam, Anthony T.S. Ho, Norman Poh, Santosh Tirunagari,
and Patrick Bours. IWBF 2015.
"""
Identify users by mouse click timings.
Train a POHMM for each user, one sample, and test using the remaining samples.
Using the clicks from task 3 (Star Bubbles) in the HCI dataset:
https://bitbucket.org/vmonaco/dataset-four-hci-tasks/
$ python hci_clicks_example.py data/task3.click.csv
Accuracy (88 samples): 0.375
@vmonaco
vmonaco / segment_motion.py
Created December 7, 2015 19:57
Segment motion using a 2-state Gaussian HMM
"""
Segment an acceleration or gyroscopic CSV file into motion/non-motion segments
using a 2-state HMM and Savitzky–Golay filter as preprocessing
"""
import sys
import pandas as pd
import matplotlib.pyplot as plt
from hmmlearn.hmm import GaussianHMM
from scipy.signal import savgol_filter