Opened 3 years ago

Closed 15 months ago

Last modified 14 months ago

#2892 closed enhancement (done)

Prediction intervals for linear regression models

Reported by: gkronber Owned by: abeham
Priority: medium Milestone: HeuristicLab 3.3.16
Component: Algorithms.DataAnalysis Version: trunk
Keywords: merged Cc:

Description


Change History (24)

comment:1 Changed 3 years ago by gkronber

  • Owner set to gkronber
  • Status changed from new to accepted

comment:2 Changed 3 years ago by gkronber

r15743: created a branch

comment:3 Changed 3 years ago by gkronber

r15744: implemented a new class LinearRegressionModel that produces variances for predictions (IConfidenceRegressionModel). Changed LR to produce a ConfidenceRegressionSolution (old static method is kept but marked obsolete)

comment:4 Changed 3 years ago by gkronber

  • Owner changed from gkronber to mkommend
  • Status changed from accepted to reviewing

comment:5 Changed 22 months ago by gkronber

r16388: Merging r15750:16382 (HEAD) from trunk to branch, resolving conflicts

comment:6 Changed 22 months ago by gkronber

r16389: merged branch back to trunk

comment:7 Changed 22 months ago by gkronber

We could also change the ERC-view to produce LR models with confidence intervals. Right now it still produces 'traditional-style' LR models (represented as symbolic expression trees).

comment:8 Changed 22 months ago by gkronber

r16390: deleted branch after trunk reintegration

comment:9 Changed 22 months ago by gkronber

r16392: fixed failing unit test

comment:10 Changed 22 months ago by fholzing

Please note: A View for the Linear Regression Model is missing.

comment:11 Changed 22 months ago by mkommend

  • Version changed from branch to trunk

comment:12 Changed 22 months ago by mkommend

r16415: Fixed used variables in LinearRegressionModel.

comment:13 Changed 22 months ago by mkommend

r16437: Merged r16392 into stable.

This changeset has already been released, because it caused conflicts as it affects functionality implement in other tickets (#2904).

comment:14 Changed 22 months ago by mkommend

r16443: Changed variable impact unit tests to use new LR methods.

comment:15 Changed 22 months ago by gkronber

  • Version changed from trunk to branch

r16448: changed LR to produce two solutions: symbolic representation and solution with prediction intervals.

It is not straight-forward to implement the model with prediction intervals as a symbolic regression model.

comment:16 Changed 22 months ago by gkronber

  • Version changed from branch to trunk

Reverted unintended change to ticket.

comment:17 Changed 22 months ago by gkronber

r16449: added a view for LR models with prediction intervals

comment:18 follow-up: Changed 15 months ago by abeham

  • Owner changed from mkommend to abeham
  • Status changed from reviewing to readytorelease

Reviewed r16389, r16415, r16448:16449

  • trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/Linear/LinearRegression.cs
    • obsolete method uses allocation of double[] coefficients which is unnecessary as it will be assigned by alglib.lrunpack

The two-fold approach of having a solution with confidence and a generic one that can be simplified is not so nice. The comment mentions that There is no clean way to implement the new model class for LR as a symbolic model. Have you considered introducing subclasses LinearSymbolicRegressionModel and LinearSymbolicRegressionSolution that would calculate covariation matrix and confidence bounds by assuming the given tree represents a linear model and throwing exception in case the assumption is violated?

Another option to consider would be to create the symbolic model on the fly from the confidence-based one when "Simplify Model" or "Export to Excel" is hit.

Anyway, this can be performed at a later date.

comment:19 Changed 15 months ago by abeham

  • Keywords merged added

r17074: merged to stable

comment:20 in reply to: ↑ 18 Changed 15 months ago by gkronber

Replying to abeham:

Have you considered introducing subclasses LinearSymbolicRegressionModel and LinearSymbolicRegressionSolution that would calculate covariation matrix and confidence bounds by assuming the given tree represents a linear model and throwing exception in case the assumption is violated?

Another option to consider would be to create the symbolic model on the fly from the confidence-based one when "Simplify Model" or "Export to Excel" is hit.

Anyway, this can be performed at a later date.

Probably, the first option is possible. We should create a new ticket for this.

comment:21 Changed 15 months ago by abeham

  • Resolution set to done
  • Status changed from readytorelease to closed

comment:22 Changed 14 months ago by gkronber

r16443 has not been merged to stable

Last edited 14 months ago by gkronber (previous) (diff)

comment:23 Changed 14 months ago by gkronber

r17163: merged r16443 from trunk to stable

comment:24 Changed 14 months ago by gkronber

r17168: update mergeinfo: r16392 has been merged to stable already (see r16437)

Note: See TracTickets for help on using tickets.