Non-negative weights in Logistic Regression I am working on a credit scorecard model based on Logistic Regression, with output being the odds of default. There are multiple variables used, all categorical in nature. Even if there are numerical variables, we use binning to convert it to a categorical variable. The final output is later scaled to arrive at a figure which is easily understandable. Now, with that transformation, we calculate individual sub-scores for each variable then add all of them to get the credit score for an observation. To make sure that the individual sub-scores are all non-negative, I have been told to adjust all the weights of the Logistic Regression model based on the following logic:
Say there are three categories for a variable, each category will get assigned certain weights, say b1, b2, b3, we then transform each of the weights by subtracting the minimum of the three weights, so b1 will be changed to b1-minimum(b1, b2, b3).
So my question is this correct way to make sure that all the sub-scores are positive?
Edit:
I am giving an example of sub-score calculation for one variable called TENOR




Variable
Category
Coefficient
Adjusted Coefficient
Score




TENOR
(35, Inf]
-0.568920702
0
62


TENOR
(-Inf,35]
0
0.568920702
55




The Score is derived as the sum of an offset value and (multiplier * Adjusted Coefficient).
The values of multiplier and the offset depends on how we would like the scores to be interpreted as, for example, a decrease of 15 in score should double the odds of default.

What you are doing is equivalent to re-defining the reference level of each categorical predictor to be the level providing the lowest (or highest, I can't quite tell from the question) odds of default. In principle there's nothing wrong with that. I assume that the multiplier is the same for all coefficients, just to put them into numerical values that seem more "easily understandable."
What bothers me is that when you re-define the reference levels you also change the intercept of your model, the baseline log-odds when all predictors are at reference values. From your description, an "offset" defined from your original model, if based on the intercept, thus would not carry over to your re-defined predictor codings.
To avoid such potential problems, I'd suggest first choosing all the reference levels to be what you now know to be the levels associated with the lowest (or highest) odds of default, then re-run the model to make sure that your intercept (and anything calculated from it) is correct. Predictions from both original models will be the same, but the coefficients from the re-run model will now be in the forms that you want.
