douglasrizzo / catsim

Computerized Adaptive Testing Simulator
GNU Lesser General Public License v3.0
124 stars 35 forks source link

Arbitrary error margin in NumericalSearchEstimator #32

Open yagoar opened 11 months ago

yagoar commented 11 months ago

Hi Douglas,

I noticed that you extend the range for bounded estimation search methods by an arbitrary error margin. Why is that necessary? In some of my test cases (1PL item bank, all scores correct except 1 item) I get estimates over 4.0, which is the upper limit of my item bank. Is there a way to limit the estimates to the [-4,4] range?

https://github.com/douglasrizzo/catsim/blob/dc7fe8e26d66dded0e624145c784908fc3d7b796/src/catsim/estimation.py#L129

Thank you!

Kind regards, Yaiza

Boltuzamaki commented 8 months ago

@yagoar hey did you find anything regarding this. I also getting the ranges above and below sometimes from the defined one cuz of margin. Also suppose all questions are False then it near -4 and all questions true its near 4 . But if for a simulation some question right and some wrong it goes beyond boundary.

So how to give final score in this case to the candidate as candidate who already answer everything right is near 4

douglasrizzo commented 7 months ago

Hello, sorry for the delay and thanks for the interest in the project.

The log-likelihood function that the estimator is trying to find the maximum for has a single global maximum, as you can see in the docs: https://douglasrizzo.com.br/catsim/estimation.html#comparison-between-estimators

The margin I put around that function was just for safety against any kind of numerical errors and should not matter.

If any of you have a minimum example I can use to replicate this behavior, I would be thankful. Maybe a script or Jupyter notebook with hardcoded item parameters etc.