version 1.54, 2022/07/23 17:43:46
|
version 1.70, 2024/05/12 20:28:58
|
Line 1
|
Line 1
|
|
2024-05-12 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c Version 0.99s5 In fact, the covariance of total life |
|
expectancy e.. with a partial life expectancy e.j is high, |
|
therefore the complete matrix of variance covariance has to be |
|
included in the formula of the standard error of the proportion of |
|
total life expectancy spent in a specific state: |
|
var(X/Y)=mu_x^2/mu_y^2*(sigma_x^2/mu_x^2 -2 |
|
sigma_xy/mu_x/mu_y+sigma^2/mu_y^2). Also an error with mle=-3 |
|
made the program core dump. It is fixed in this version. |
|
|
|
2024-04-30 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* (Module): In version 0.99s4, we incorporated the calculation of |
|
the std error of the proportion of total life expectancy spent in |
|
a specific state Var(e.j/e..) using the formula of Var(X/Y) |
|
depending only of the variances of X and Y and expectancies. |
|
|
|
2024-04-24 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* (Module): This version comes late after having tested |
|
successfully the praxis C version of Buckhardt. But Buckardt's |
|
version was difficult to read and Gegenfurtner's version had a few |
|
typos which made its results less reliable than Buckhardt's |
|
results. The most important work consisted in retyping the Brent |
|
original PRAXIS program written in Algol W (published with errors, |
|
ommitting the transposition of matrix V before its QR reduction |
|
from Golub. I used the recent "awe" compiler from Gkynn Webster. |
|
The awe library had errors, for example in arc tangent function |
|
which have been fixed. |
|
|
|
The main objective was to get identical results with the three |
|
versions: (1) Algol W, (2) Buckhardt'C version as well (3) |
|
Gegenfürtner C versions on the various test functions published by |
|
Brent in 1973 in Algol W. |
|
|
|
Also, in order to compare them, the random function had to produce |
|
the same sequence for the 3 softwares. The random function used in |
|
imach corresponds to original Brent's random function written in |
|
Algol W. Other point, in Algol W, the arrays of dimension n are |
|
'normal' mathematical arrays starting from 1 to n. But this is a |
|
real issue in C where, by default, arrays are starting from 0 to |
|
n-1. In Buckhardt, as well as in Gegenfürtner C code, it can be |
|
seen that authors while trying to mimick original Brent Algol W |
|
code are hesitating by changing either a loop originally from 1 to |
|
n in a loop from 0 to n-1, or keeping Brent's loop from 1 to n and |
|
shifting the index from original X(I) in Algol W to x[i-1] in C. |
|
But as IMaCh is using, since the beginning, the Numerical Recipes |
|
functions vector or matrix, I changed Geggenfürtner code to mimick |
|
the original Algol W arrays. Thus the X(I) is translated in C as |
|
x[i] which minimizes the errors. The Golub QR algorithm was |
|
published in Algol with overflow errors which were reproduced in |
|
Brent's Algol W code. Buckhardt code fixed these errors which are |
|
much more problematic in C than in Algol W. Thus Buckhardt code |
|
seems very safe, but i haven't chosen it for IMaCh because the C |
|
style is horrible and almost unreadable compared to Gegenfürtner |
|
CO code which is very close to Brent's original. Also what makes |
|
Buckhardt code more difficult to read is, instead of passing the |
|
minimum of parameters in the functions calls, as it is in Algol |
|
Brent's code or Gegenfürtner's code, the list of parameters is |
|
high. For example, the flin function LONG REAL PROCEDURE FLIN |
|
(LONG REAL VALUE L) has only one parameter in Algol W, the |
|
Gegenfürtner flin function had two parameters: static double |
|
flin(l, j) double l; { int i; double tflin[N];} but Buckhardt |
|
function has 14 parameters which makes the code unreadable and |
|
useless. Gegenfürtner used a lot of static variables or functions |
|
which I tried to minimize. Also in Gegefürtner, array dimensions |
|
were fixed to N. In my adaptation the flin is static double |
|
flin(double l, int j) and the parameter used are global variables. |
|
|
|
2023-06-14 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c (Module): Testing if conjugate gradient could be quicker |
|
when lot of variables POWELLORIGINCONJUGATE |
|
|
|
2023-05-23 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c (Module): Fixed PROB_r |
|
|
|
2023-05-22 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c (Module): In the ILK....txt file, the number of columns |
|
before the covariates values is dependent of the number of states (16+nlstate): 0.99r46 |
|
|
|
2023-05-08 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* (Module): Error V0 when result:. and model 1+age+V1: fixed |
|
|
|
2023-04-29 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c (Module): Inverting the model equation and fixingg bugs |
|
in the drawings |
|
"1+age+V7*V4*age+V6*V4*age+V7*V3*age+V6*V3*age+V6*V2*age+V7*age+V6*age+V4*age+V3*age+V2*age+V7*V4+V6*V4+V7*V3+V6*V3+V7*V2+V6*V2+V7+V6+V4+V3+V2\000\0003+V2" |
|
|
|
2023-04-24 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c (Module): some bugs in printinggnuplot |
|
|
|
2022-09-19 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c (Module): Version 0.99r42 needed a newer version of |
|
Gnuplot. But newer version 0.99r43 should run with the Gnuplot |
|
version 5.0 or 5.1 distributed with IMaCh. |
|
|
|
2022-09-18 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c (Module): Fixing when a state in the data is 0 or higher |
|
than lstate+ndeath. Fixing the plot of contribution to Likelihood. |
|
|
|
2022-09-16 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c (Module): 0.99r41 Was an error when product of timevarying and fixed. Using FixedV[of name] now. Thank you Feinuo |
|
|
|
2022-09-14 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c (Module): Fixing names of variables in T_ (thanks to Feinuo) |
|
|
|
2022-09-14 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c (Module): Version 0.99r39 with colored dummy covariates |
|
(fixed or time varying), using new last columns of |
|
ILK_parameter.txt file. |
|
|
|
2022-09-11 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c (Module): Adding timevarying products of any kinds, |
|
should work before shifting cotvar from ncovcol+nqv columns in |
|
order to have a correspondance between the column of cotvar and |
|
the id of column. |
|
(Module): Some cleaning and adding covariates in ILK.txt |
|
|
|
2022-09-09 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c (Module): Many improvements for fixing products of fixed |
|
timevarying as well as fixed * fixed, and test with quantitative |
|
covariate. |
|
|
|
2022-09-04 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c (Module): Now the easy runs i.e. without result or |
|
model=1+age only did not work. The defautl combination should be 1 |
|
and not 0 because everything hasn't been tranformed yet. |
|
|
|
2022-09-02 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c: Version 0.99r35 because it outputs same results with |
|
1+age+V1+V1*age for females and 1+age for females only |
|
(education=1 noweight) |
|
|
|
2022-08-31 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c (Module): Some improvments in fichtm and many verifications 0.99r34 |
|
|
|
2022-08-21 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c (Module): Version 0.99r33 A lot of changes in |
|
reassigning covariates: my first idea was that people will always |
|
use the first covariate V1 into the model but in fact they are |
|
producing data with many covariates and can use an equation model |
|
with some of the covariate; it means that in a model V2+V3 instead |
|
of codtabm(k,Tvaraff[j]) which calculates for combination k, for |
|
three covariates (V1, V2, V3) the value of Tvaraff[j], but in fact |
|
the equation model is restricted to two variables only (V2, V3) |
|
and the combination for V2 should be codtabm(k,1) instead of |
|
(codtabm(k,2), and the code should be |
|
codtabm(k,TnsdVar[Tvaraff[j]]. Many many changes have been |
|
made. All of these should be simplified once a day like we did in |
|
hpxij() for example by using precov[nres] which is computed in |
|
decoderesult for each nres of each resultline. Loop should be done |
|
on the equation model globally by distinguishing only product with |
|
age (which are changing with age) and no more on type of |
|
covariates, single dummies, single covariates. |
|
|
|
2022-08-06 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c (Module): Version of imach using partly decoderesult to rebuild xpxij function |
|
|
|
2022-08-03 Nicolas Brouard <brouard@ined.fr> |
|
|
|
* imach.c (Module): Many errors in graphs fixed with Vn*age covariates. |
|
|
|
2022-07-25 Brouard Nicolas <brouard@brouard.name>
|
|
|
|
* imach.c (Module): Error cptcovn instead of nsd in bmij (was
|
|
coredumped, revealed by Feiuno, thank you.
|
|
|
2022-07-23 Nicolas Brouard <brouard@ined.fr> |
2022-07-23 Nicolas Brouard <brouard@ined.fr> |
|
|
* r29 W and not sqrt(Wald) |
* r29 W and not sqrt(Wald) |
Line 6
|
Line 192
|
|
|
* imach.c (Module): Output of Wald test in the htm file and not only in the log. |
* imach.c (Module): Output of Wald test in the htm file and not only in the log. |
|
|
|
2022-06-02 Brouard Nicolas <brouard@brouard.name>
|
|
|
|
* imach.c (Module): Adding the Wald tests from the log to the main
|
|
htm for better display of the maximum likelihood estimators. |
|
|
2022-05-30 Brouard Nicolas <brouard@brouard.name> |
2022-05-30 Brouard Nicolas <brouard@brouard.name> |
|
|
* imach.c: With products of covariates (age or dummies or |
* imach.c: With products of covariates (age or dummies or |
Line 767
|
Line 958
|
lower mortality. |
lower mortality. |
|
|
2002-05-30 <brouard@BROUARD> |
2002-05-30 <brouard@BROUARD> |
* |
|
* imach.c (Module): Add correlation matrix of one-step |
* imach.c (Module): Add correlation matrix of one-step |
probabilities and covariance matrix |
probabilities and covariance matrix |
|
|
|
|
|
|
|
|
|
|