public function testGetObservation() { $observations = Observations::fromArray(static::$features, static::$outcomes); $observation = $observations->getObservation(0); static::assertEquals(static::$features[0], $observation->getFeatures()); static::assertEquals(static::$outcomes[0], $observation->getOutcome()); }
public function testStatistics() { $observations = Observations::fromArray($this->getFeatures(), $this->getOutcomes()); $coefficients = [1.0954970633022, 0.92451598868827]; $predictor = new LinearPredictor($coefficients); $statisticsGatherer = new LinearStatisticsGatherer($observations, $coefficients, $predictor); static::assertEquals(4, $statisticsGatherer->getDegreesOfFreedomTotal()); static::assertEquals(3, $statisticsGatherer->getDegreesOfFreedomError()); static::assertEquals(1, $statisticsGatherer->getDegreesOfFreedomModel()); static::assertEquals(1.94, round($statisticsGatherer->getFStatistic(), 2)); static::assertEquals(0.39, round($statisticsGatherer->getRSquared(), 2)); $stdErrorCoefficients = $statisticsGatherer->getStandardErrorCoefficients(); static::assertEquals(1.51, round($stdErrorCoefficients[0], 2)); static::assertEquals(0.66, round($stdErrorCoefficients[1], 2)); static::assertEquals(1.42, round($statisticsGatherer->getStandardError(), 2)); $tStatistics = $statisticsGatherer->getTStatistics(); static::assertEquals(0.73, round($tStatistics[0], 2)); static::assertEquals(1.39, round($tStatistics[1], 2)); }
public function testTooFewObservations() { static::setExpectedException('InvalidArgumentException'); $regression = new LeastSquares(); $regression->regress(Observations::fromArray([[1, 1]], [1])); }