HarryStevens/d3-regression

NaNs when using regressionPow

Opened this issue · 1 comments

I’m trying to run a power law regression using the data in the file attached
datapoints.txt

const d3 = require('d3-regression')

const regressionGenerator = d3.regressionPow()
      .x(d => d.x)
      .y(d => Number(d.y));
const output = regressionGenerator(data)
console.log(output)

which returns some NaNs, suggesting something is going wrong in the regression

[


  [ 8, NaN ],
  [ 26361, NaN ],
  a: NaN,
  b: NaN,
  predict: [Function: fn],
  rSquared: NaN
]

Is there a reason I'm seeing NaNs? What's the recommended way forward? Can we filter out certain data points to prevent this?

realised that this is because there are some y values which are 0 in the data, and NaNs are returned since ln(0) is undefined.