|
I'm trying to use ms() to select
parameters of a function such that the intraclass correlation of a pair of
vectors transformed by this function is maximized: Specifically, I want to
find a logistic transformation for a pair of vectors with parameters of the
logistic function selected to maximize the intraclass correlation of the
transformed vectors (or equivalently, minimize 1/r or -r in order to make use of
ms(), which minimizes rather than maximizes).
I understand that utilizing
derivatives and hessians of a function (using deriv3(), for example) should
improve the performance (and stability?) of the ms() routine. However, the
function I am using becomes rather complicated (see below), and I'm not certain
if deriv3() would be applicable. My problem is that in simulations
without specifying derivative/hessians I often get singular convergence or false
convergence messages from ms(), and I am concerned about trusting the resulting
function parameters chosen by the ms() routine. Furthermore, I am
surprised that in the occasional simulation no convergence is reached by ms()
even after 100 iterations.
I have set f.tolerance to 0 in the
ms.control options. I
am using Splus version 4.3, win95.
Any insight into the advisability of
using ms() in this manner or into refinements or changes in my approach to this
problem would be much appreciated.
The specific function goal
is:
maximize (x1-x2)/(x1+x2)
where:
x1=mean(y1-y2)^2/2, and
x2=2*var((y1+y2)/2)
where:
y1 =
1/(1 + exp( - (a + b1 * z1 + b2*(z1^2)))) and
y1 =
1/(1 + exp( - (a + b1 * z2 + b2*(z2^2))))
where z1 and z2 are vectors of equal length
(paired)
My goal is to find parameters a, b1,
and b2 for a particular z1 and z2
Thanks in advance -
Peter Holck
Alaska Native Health
Board
|