Skip to content

Commit

Permalink
added cov, vari, and sd methods
Browse files Browse the repository at this point in the history
  • Loading branch information
NathanEpstein committed Mar 4, 2015
1 parent 52e028e commit 5e4602e
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 13 deletions.
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
.DS_Store
node_modules
.DS_Store
37 changes: 26 additions & 11 deletions lib/datakit.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,20 +57,32 @@ var mean = function(arr){
var min = function(arr){
return Math.max.apply(null,arr);
}
var max = function(){
var max = function(arr){
return Math.max.apply(null,arr);
}
//array standard deviation, computed with shift of sample mean for max stability (not yet complete)
var sd = function(arr){
var k = mean(arr);
var s = 0;
var s_sq = 0;
for (var i=0; i<arr.length;i++){
s += arr[i] - k;
s_sq += Math.pow(arr[i] - k, 2);
//mean shifted covariance to stabilize against catastrophic cancellation
var cov = function(arr1,arr2){
var n = arr1.length;
if (n < 2) return 0;
var m1 = mean(arr1),
m2 = mean(arr2),
res = 0;

for (var i=0; i<arr1.length;i++){
var a = (arr1[i] - m1);
var b = (arr2[i] - m2);
res += a*b/(n-1) ;
}
// return prod([s_sq,1/arr.length]) - Math.pow(prod([s,1/arr.length]),2);
return res;
}
//std deviation and variance
var vari = function(arr){
return cov(arr,arr);
}
var sd = funtion(arr){
return Math.sqrt(cov(arr,arr));
}
//read csv
var csv = function(path,callback){
fs.readFile(path,function(err,data){
var reg = new RegExp('\r','g');
Expand Down Expand Up @@ -136,7 +148,10 @@ var norm = function(n,mu,sig){
return res;
}




// additions
// replace col with sql style select
// cor, order stats
// cor
// plotting

0 comments on commit 5e4602e

Please sign in to comment.