Fixed tests (plausibly slightly naively)
Value: [1e-4 to 1e-1]
This commit is contained in:
		
							parent
							
								
									cbaf4c150d
								
							
						
					
					
						commit
						a266b8ed09
					
				| 
						 | 
					@ -306,9 +306,6 @@ module T = Dist({
 | 
				
			||||||
  //    let klContinuousPart = Continuous.T.klDivergence(prediction.continuous, answer.continuous)
 | 
					  //    let klContinuousPart = Continuous.T.klDivergence(prediction.continuous, answer.continuous)
 | 
				
			||||||
  //    E.R.merge(klDiscretePart, klContinuousPart)->E.R2.fmap(t => fst(t) +. snd(t))
 | 
					  //    E.R.merge(klDiscretePart, klContinuousPart)->E.R2.fmap(t => fst(t) +. snd(t))
 | 
				
			||||||
  //  }
 | 
					  //  }
 | 
				
			||||||
  //  let logScoreWithPointResolution = (~prediction: t, ~answer: float, ~prior: option<t>) => {
 | 
					 | 
				
			||||||
  //    Error(Operation.NotYetImplemented)
 | 
					 | 
				
			||||||
  //  }
 | 
					 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
let combineAlgebraically = (op: Operation.convolutionOperation, t1: t, t2: t): t => {
 | 
					let combineAlgebraically = (op: Operation.convolutionOperation, t1: t, t2: t): t => {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,8 +29,26 @@ module WithDistAnswer = {
 | 
				
			||||||
      minusScaledLogOfQuot(~esti=estimateElement, ~answ=answerElement)
 | 
					      minusScaledLogOfQuot(~esti=estimateElement, ~answ=answerElement)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  let sum = (~estimate: t, ~answer: t, ~combineFn, ~integrateFn) =>
 | 
					  let rec sum = (~estimate: t, ~answer: t, ~combineFn, ~integrateFn) =>
 | 
				
			||||||
    combineFn(integrand, estimate, answer)->E.R2.fmap(integrateFn)
 | 
					    switch (estimate, answer) {
 | 
				
			||||||
 | 
					    | ((Continuous(_) | Discrete(_)) as esti, (Continuous(_) | Discrete(_)) as answ) =>
 | 
				
			||||||
 | 
					      combineFn(integrand, esti, answ)->E.R2.fmap(integrateFn)
 | 
				
			||||||
 | 
					    | (Mixed(esti), Mixed(answ)) =>
 | 
				
			||||||
 | 
					      E.R.merge(
 | 
				
			||||||
 | 
					        sum(
 | 
				
			||||||
 | 
					          ~estimate=Discrete(esti.discrete),
 | 
				
			||||||
 | 
					          ~answer=Discrete(answ.discrete),
 | 
				
			||||||
 | 
					          ~combineFn,
 | 
				
			||||||
 | 
					          ~integrateFn,
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					        sum(
 | 
				
			||||||
 | 
					          ~estimate=Continuous(esti.continuous),
 | 
				
			||||||
 | 
					          ~answer=Continuous(answ.continuous),
 | 
				
			||||||
 | 
					          ~combineFn,
 | 
				
			||||||
 | 
					          ~integrateFn,
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					      )->E.R2.fmap(((discretePart, continuousPart)) => discretePart +. continuousPart)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  let sumWithPrior = (~estimate: t, ~answer: t, ~prior: t, ~combineFn, ~integrateFn): result<
 | 
					  let sumWithPrior = (~estimate: t, ~answer: t, ~prior: t, ~combineFn, ~integrateFn): result<
 | 
				
			||||||
    float,
 | 
					    float,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user