f(x) = (Math.Log(x / (1.0 - x)) - A) / B
public void LogitLinkFunctionConstructorTest() { LogitLinkFunction target = new LogitLinkFunction(); Assert.AreEqual(0, target.A); Assert.AreEqual(1, target.B); for (int i = 0; i < 11; i++) { double x = i / 10.0; double y = Math.Log(x) - Math.Log(1 - x); Assert.AreEqual(y, target.Function(x), 1e-10); Assert.AreEqual(x, target.Inverse(y), 1e-10); } }
public void LogitLinkFunctionConstructorTest1() { double beta = 3.14; double constant = 2.91; LogitLinkFunction target = new LogitLinkFunction(beta, constant); Assert.AreEqual(constant, target.A); Assert.AreEqual(beta, target.B); for (int i = 0; i < 11; i++) { double x = i / 10.0; double y = ((Math.Log(x) - Math.Log(1 - x)) - constant) / beta; Assert.AreEqual(y, target.Function(x), 1e-10); Assert.AreEqual(x, target.Inverse(y), 1e-10); } }