Thank you very much for taking the time. I haven’t yet had the chance since then to go back to this model. I think the approach I had in mind is one where the bounds are also vectors. Possibly with only lower vectors it is possible to build the matrix I had in mind. For example, the first column has no lower bound, the second column has the first as its lower bound (which implicitly gives an upper bound to the first column, but is not declared explicitly), and so on, and the final column would have a scaler upper bound and avoid the issues.
In terms of application where this constraint happens. I was thinking of this approach as a way to model winning probability in sports during a game. Think of X as a matrix of the probabilities (or some transformation in unconstrained space) of the home team winning. Each row of X represents a time in the game, going from the beginning to the end of the game. Each column of X represents the score, so that in column 1 the home team is leading by 1, in column 2 the home team is leading by 2, and so on.
The idea of the constraint is:
- Within each score (say 1-0, so within a column and across the rows), the probability of the home team winning should always increase as time goes by, as there is less time for the score to revert.
- Within each second of the game (e.g. at minute 20, so within a row and across the columns) the probability of the home team winning if they score another goal (and move to the next column) should always increase.
I think these are reasonable assumptions. Hopefully the data already delivers them, but this would help avoid overfitting in rare situations (e.g. a very early large lead), as well as avoiding sample selection issues (the games and scores we observe are not fully independent of the true winning probabilities).
Do you think this is a reasonable setting where this constraint would be helpful?