Trying to understand rust divergence
This commit is contained in:
parent
582ff5488f
commit
c334bf2aac
29077
fucking_massive.csv
Normal file
29077
fucking_massive.csv
Normal file
File diff suppressed because it is too large
Load Diff
BIN
model-0a56c6f
Executable file
BIN
model-0a56c6f
Executable file
Binary file not shown.
BIN
model-51ad848
Executable file
BIN
model-51ad848
Executable file
Binary file not shown.
BIN
model-da53077
Executable file
BIN
model-da53077
Executable file
Binary file not shown.
BIN
model-f585358
Executable file
BIN
model-f585358
Executable file
Binary file not shown.
BIN
models/rust-sp
Executable file
BIN
models/rust-sp
Executable file
Binary file not shown.
219
notebooks/rust-validation.ipynb
Normal file
219
notebooks/rust-validation.ipynb
Normal file
@ -0,0 +1,219 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import pandas as pd\n",
|
||||
"import numpy as np\n",
|
||||
"import matplotlib.pyplot as plt\n",
|
||||
"import scipy\n",
|
||||
"from glob import glob\n"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 22,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"def read_xy(path: str):\n",
|
||||
" df = pd.read_csv(path)\n",
|
||||
" df['N'] = df.index + 1\n",
|
||||
" df['r'] = (df.x ** 2 + df.y ** 2) ** 0.5\n",
|
||||
" df['cr'] = df.r.cummax()\n",
|
||||
" df['fd'] = np.log(df.N) / np.log(df.cr)\n",
|
||||
"\n",
|
||||
" return df\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"def convergent_tail_index(series, tol):\n",
|
||||
" diffs = np.abs(np.ediff1d(series))\n",
|
||||
" for i in range(0, len(diffs)):\n",
|
||||
" if np.max(diffs[i:]) <= tol:\n",
|
||||
" return i\n",
|
||||
"\n",
|
||||
" # No convergence found\n",
|
||||
" return None\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"def mean_of_tail(series, tol=0.05):\n",
|
||||
" tail_index = convergent_tail_index(series, tol)\n",
|
||||
" return np.mean(series[tail_index:])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 19,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"a = read_xy(\"/Users/joshuacoles/Developer/checkouts/jc3091/CompB DLA/c-codebase/a.csv\")\n",
|
||||
"b = read_xy(\"/Users/joshuacoles/Developer/checkouts/jc3091/CompB DLA/c-codebase/b.csv\")\n",
|
||||
"c = read_xy(\"/Users/joshuacoles/Developer/checkouts/jc3091/CompB DLA/c-codebase/c.csv\")\n",
|
||||
"d = read_xy(\"/Users/joshuacoles/Developer/checkouts/jc3091/CompB DLA/c-codebase/d.csv\")"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 16,
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": "1.7271570214996996"
|
||||
},
|
||||
"execution_count": 16,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"mean_of_tail(a.fd)"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 17,
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": "1.7271570214996996"
|
||||
},
|
||||
"execution_count": 17,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"mean_of_tail(b.fd)"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 18,
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": "1.7634427392486482"
|
||||
},
|
||||
"execution_count": 18,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"mean_of_tail(c.fd)"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 20,
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": "1.7634427392486482"
|
||||
},
|
||||
"execution_count": 20,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"mean_of_tail(d.fd)"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 31,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": "20769"
|
||||
},
|
||||
"execution_count": 31,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"convergent_tail_index(read_xy(\"../fucking_massive.csv\").fd, 0.001)"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 2
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython2",
|
||||
"version": "2.7.6"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 0
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
BIN
rust-int-13fc1ff
Executable file
BIN
rust-int-13fc1ff
Executable file
Binary file not shown.
BIN
rust-int-dc64117
Executable file
BIN
rust-int-dc64117
Executable file
Binary file not shown.
BIN
rust-int-fd89d3f
Executable file
BIN
rust-int-fd89d3f
Executable file
Binary file not shown.
16
tools/rust-sp-harness.bash
Executable file
16
tools/rust-sp-harness.bash
Executable file
@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# NOTE: Requires GNU parallel
|
||||
|
||||
MODEL="models/rust-sp"
|
||||
#MODEL=echo
|
||||
mkdir -p data/rust-sp
|
||||
PROBABILITIES=$@
|
||||
|
||||
for i in $PROBABILITIES; do
|
||||
mkdir data/rust-sp/"$i"
|
||||
done
|
||||
|
||||
MAX_PARTICLES=2000
|
||||
|
||||
parallel "$MODEL" '{1}' $MAX_PARTICLES '{2}' 'data/rust-sp/{2}/{1}.csv' ::: {1..100} ::: $PROBABILITIES
|
||||
24
tools/sp-harness.bash
Executable file
24
tools/sp-harness.bash
Executable file
@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# NOTE: Requires GNU parallel
|
||||
# USAGE: MAX_PARTICLES=... sp-harness.bash <model> <run_id> <probabilities...>
|
||||
|
||||
# Run ID
|
||||
MODEL="$1"
|
||||
ID="$2"
|
||||
|
||||
shift
|
||||
shift
|
||||
|
||||
ROOT="data/$ID"
|
||||
mkdir -p "$ROOT"
|
||||
|
||||
PROBABILITIES=$@
|
||||
|
||||
for i in $PROBABILITIES; do
|
||||
mkdir -p "$ROOT/$i"
|
||||
done
|
||||
|
||||
MAX_PARTICLES="${MAX_PARTICLES:=2000}"
|
||||
|
||||
parallel "'$MODEL'" '{1}' $MAX_PARTICLES '{2}' "$ROOT/{2}/{1}.csv" ::: {1..100} ::: $PROBABILITIES
|
||||
Loading…
Reference in New Issue
Block a user