Opened 8 years ago
Closed 7 years ago
#2686 closed feature request (done)
Support for time lags in constant optimizer
Reported by: | gkronber | Owned by: | gkronber |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.15 |
Component: | Problems.DataAnalysis.Symbolic | Version: | 3.3.14 |
Keywords: | Cc: |
Description
Attachments (1)
Change History (18)
comment:1 Changed 8 years ago by gkronber
- Owner set to gkronber
- Status changed from new to accepted
comment:2 Changed 8 years ago by gkronber
comment:3 Changed 8 years ago by gkronber
- Owner changed from gkronber to mkommend
- Status changed from accepted to reviewing
comment:4 Changed 8 years ago by gkronber
r14358: in the constants optimizer the variable weight must be multiplied to the variable value even when variable weights are not updated by the constants optimizer
comment:5 follow-up: ↓ 7 Changed 8 years ago by mkommend
- Owner changed from mkommend to gkronber
- Status changed from reviewing to assigned
ConstantOptimization of lagged variables does not work! The issue is that the symbol LaggedVariable is derived from Variable and as a result of using the is operator (check if the type is in the inheritance hierarchy) all lags are always 0. The if block in line 311 is never executed.
Any easy solution would be to switch the if blocks for variable and lagged variable. I haven't performed this change due to refactoring of the CoOp / AutoDiff transformation.
The attached script CoOp Test also illustrates this bug. In the current implementation a R² value of 1 could not be reached and the constants are tuned incorrectly. If the update is performed 0.999999999... is reached.
comment:6 Changed 8 years ago by mkommend
comment:7 in reply to: ↑ 5 ; follow-up: ↓ 8 Changed 8 years ago by gkronber
Replying to mkommend:
ConstantOptimization of lagged variables does not work! The issue is that the symbol LaggedVariable is derived from Variable and as a result of using the is operator (check if the type is in the inheritance hierarchy) all lags are always 0. The if block in line 311 is never executed.
This should be fixed once the factors-branch (#2650) is integrated. After integration of the factors branch this problem should be tested again.
comment:8 in reply to: ↑ 7 ; follow-up: ↓ 10 Changed 8 years ago by gkronber
Replying to gkronber:
Replying to mkommend:
ConstantOptimization of lagged variables does not work! The issue is that the symbol LaggedVariable is derived from Variable and as a result of using the is operator (check if the type is in the inheritance hierarchy) all lags are always 0. The if block in line 311 is never executed.
This should be fixed once the factors-branch (#2650) is integrated. After integration of the factors branch this problem should be tested again.
I just checked this again and it works now.
comment:9 Changed 8 years ago by gkronber
- Owner changed from gkronber to mkommend
- Status changed from assigned to reviewing
Please set ticket to ready for release if there are no further issues.
comment:10 in reply to: ↑ 8 Changed 8 years ago by mkommend
Replying to gkronber:
Replying to gkronber:
Replying to mkommend:
ConstantOptimization of lagged variables does not work! The issue is that the symbol LaggedVariable is derived from Variable and as a result of using the is operator (check if the type is in the inheritance hierarchy) all lags are always 0. The if block in line 311 is never executed.
This should be fixed once the factors-branch (#2650) is integrated. After integration of the factors branch this problem should be tested again.
I just checked this again and it works now.
This is not true. The script still does not give an R² value of ~ 1 when variable weights are tuned.
comment:11 Changed 8 years ago by mkommend
- Owner changed from mkommend to gkronber
r14946: Fixed updating of constants / variable weights if lagged variables are used within constants optimization.
comment:12 Changed 8 years ago by gkronber
Thanks for re-checking & fixing this.
comment:13 Changed 8 years ago by gkronber
- Status changed from reviewing to readytorelease
comment:14 Changed 8 years ago by mkommend
r14951: Code clean up in ConstantOptimization.
comment:15 Changed 8 years ago by gkronber
comment:16 Changed 7 years ago by gkronber
comment:17 Changed 7 years ago by gkronber
- Resolution set to done
- Status changed from readytorelease to closed
14349: added support for lagged variables to constants optimizer