<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Coding issue about nonnegative parameter estimation in SAS/IML Software and Matrix Computations</title>
    <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304374#M3055</link>
    <description>&lt;P&gt;There are a lot of problems here, so I'll have to be brief. I encourage you to look at the article &lt;A href="http://blogs.sas.com/content/iml/2011/10/12/maximum-likelihood-estimation-in-sasiml.html" target="_self"&gt;"Maximum likelihood estimation in SAS/IML"&lt;/A&gt;&amp;nbsp;and the &lt;A href="http://support.sas.com/documentation/cdl/en/imlug/68150/HTML/default/viewer.htm#imlug_nonlinearoptexpls_sect015.htm" target="_self"&gt;IML documentation about how to solve constrained optimizations&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here are some commetns:&lt;/P&gt;
&lt;P&gt;1. The paramters are x[1] through x[4]. The data is considered constant. You can set constraints on the parameters, but not on the data. You need to clean the data to make sure that it makes sense.&lt;/P&gt;
&lt;P&gt;2. There are problems in your DATA step&lt;/P&gt;
&lt;P&gt;3. You have mismatched parentheses in the definition of the objective function. &amp;nbsp;Does the expoential term multiply the sum of the other terms or only the last term?&lt;/P&gt;
&lt;P&gt;4.&amp;nbsp;You need to rescale the T variable, perhaps by setting T = T - 1990. &amp;nbsp;The expression EXP(-x[4]*T) will be zero unless you rescale.&lt;/P&gt;
&lt;P&gt;5. You have LINEAR constraints on the boundary of the parameter space. therefore you do not need the&amp;nbsp;&lt;SPAN&gt;C_UC2D function. Instead, use a 2x4 matrix in which the first row specifies the lower constraints and the second row contains missing values to indicates that there are not upper bound constraints.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;6. Since you want to minimize, set opt[1]=0.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Here's a start. You need to decide what to do about (3) and (4).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards truncover expandtabs;
input G1 G2 M1 M2 EQ T;
cards;
5000  4000  4824 2461 1.073446328 1990
5000  4000  4822 2585 1.06741573  1991
5000  4000  4911 2696 1.06741573  1992
5000  4000  5033 2879 1.06442577  1993
5000  4000  5098 3058 1.058495822 1994
5000  4000  5138 3320 1.052631579 1995
5000  4000  5261 3463 1.046831956 1996
5000  4000  5375 3470 1.043956044 1997
5000  4000  5411 3324 1.035422343 1998
5000  4000  5510 3318 1.032608696 1999
5000  4000  5702 3405 1.027027027 2000
5000  4000  5601 3488 1.02425876  2001
5000  4000  5649 3694 1.018766756 2002
5000  4000  5679 4525 1.010638298 2003
5000  4000  5763 5288 1.00795756  2004
5000  4000  5795 5790 1           2005
5000  4000  5704 6414 0.994764398 2006
5000  4000  5795 6792 0.989583333 2007
5000  4000  5622 7035 0.984455959 2008
5000  4000  5274 7692 0.981912145 2009
5000  4000  5409 8257 0.974358974 2010
;
run;

proc iml;
use have;
read all var {G1 G2 M1 M2 EQ T};
close;

T = T - min(T);  /* start time at 1990??? */

start func(x) global(G1, G2, M1, M2, EQ, T);
 /* ??? Which terms does EXP term multiply? */
 v = ( x[1]/2#(M1-G1)##2 + x[2]/2#(M2-G2)##2 + x[3]/2#(1-EQ)##2 ) # EXP(-x[4]*T);
 obj=sum( v );
 return (obj);
finish;

/* test objective func */
x = j(4,1,1);
LL = func(x);
print LL;

opt = j(1, 11, .);
opt[1]=0;opt[2] = 4;

/*    constraint matrix */
con = { 1e-16 1e-16 1e-16 1e-16,  /* lower bounds above 0 */
        .     .     .     .};     /* no constraints on upper bounds */
CALL NLPNMS(rc,xres,"func", x,opt, con);
print rc xres;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 13 Oct 2016 14:25:47 GMT</pubDate>
    <dc:creator>Rick_SAS</dc:creator>
    <dc:date>2016-10-13T14:25:47Z</dc:date>
    <item>
      <title>Coding issue about nonnegative parameter estimation</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304352#M3054</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Dear SAS/IML experts,&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;I would like to estimate parameters (&lt;SPAN&gt;x[&lt;/SPAN&gt;1&lt;SPAN&gt;],&amp;nbsp;x[2],&amp;nbsp;x[3],&amp;nbsp;x[4])&amp;nbsp;&lt;/SPAN&gt;in the cost function (This is a minimization problem).&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;obj=sum( ((x[&lt;/SPAN&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;SPAN&gt;]/2)*(M1-G1)^2 + (x[&lt;/SPAN&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;SPAN&gt;]/2)*(M2-G2)^2 + (x[&lt;/SPAN&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;SPAN&gt;]/2)*(1-EQ)^2))*EXP(-x[&lt;/SPAN&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;SPAN&gt;]*T));&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;I have several contraints in the cost function.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;1. (M1-G1)+ =max[0, (M1-G1)]&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;2. (M2-G2)+ =max[0, (M2-G2)]&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;3. (1-EQ)+ =max[0, (1-EQ)]&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN&gt;4. x[1],&amp;nbsp;x[2],&amp;nbsp;x[3],&amp;nbsp;x[4] &amp;gt;0&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;I would like to know the coding below is correct or not. After I ran SAS, I cannot see any numbers for the parameters. &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;I think the coding has some problems. Also, I would like to know how to add three constraints (1, 2, and 3) above.&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Thank you very much in advance.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Sincerley yours,&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;J1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; have;&lt;/P&gt;&lt;P&gt;infile cards truncover expandtabs;&lt;/P&gt;&lt;P&gt;input G1 G2 M1 M2 EQ T;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 4,824 2,461 1.073446328 1990&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 4,822 2,585 1.06741573&amp;nbsp; 1991&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 4,911 2,696 1.06741573&amp;nbsp; 1992&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 5,033 2,879 1.06442577&amp;nbsp; 1993&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 5,098 3,058 1.058495822 1994&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 5,138 3,320 1.052631579 1995&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 5,261 3,463 1.046831956 1996&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 5,375 3,470 1.043956044 1997&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 5,411 3,324 1.035422343 1998&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 5,510 3,318 1.032608696 1999&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 5,702 3,405 1.027027027 2000&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 5,601 3,488 1.02425876&amp;nbsp; 2001&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 5,649 3,694 1.018766756 2002&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 5,679 4,525 1.010638298 2003&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 5,763 5,288 1.00795756&amp;nbsp; 2004&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 5,795 5,790 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2005&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 5,704 6,414 0.994764398 2006&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 5,795 6,792 0.989583333 2007&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 5,622 7,035 0.984455959 2008&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 5,274 7,692 0.981912145 2009&lt;/P&gt;&lt;P&gt;5000&amp;nbsp; 4000&amp;nbsp; 5,409 8,257 0.974358974 2010&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;iml&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;use have;&lt;/P&gt;&lt;P&gt;read all var {G1 G2 M1 M2 EQ T};&lt;/P&gt;&lt;P&gt;close;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;start func(x) global(G1, G2, M1, M2, EQ T);&lt;/P&gt;&lt;P&gt;&amp;nbsp;obj=sum(&amp;nbsp; ((x[&lt;STRONG&gt;1&lt;/STRONG&gt;]/2)#(M1-G1)##2 + (x[&lt;STRONG&gt;2&lt;/STRONG&gt;]/2)#(M2-G2)##2 + (x[&lt;STRONG&gt;3&lt;/STRONG&gt;]/2)#(1-EQ)##2))*EXP(-x[&lt;STRONG&gt;4&lt;/STRONG&gt;]*T));&lt;/P&gt;&lt;P&gt;&amp;nbsp;return (obj);&lt;/P&gt;&lt;P&gt;finish;&lt;/P&gt;&lt;P&gt;start C_UC2D(x);&lt;/P&gt;&lt;P&gt;&amp;nbsp;c = j(&lt;STRONG&gt;4&lt;/STRONG&gt;,&lt;STRONG&gt;1&lt;/STRONG&gt;,&lt;STRONG&gt;0&lt;/STRONG&gt;);&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;c[&lt;STRONG&gt;1&lt;/STRONG&gt;]=&lt;STRONG&gt;1&lt;/STRONG&gt;-x[&lt;STRONG&gt;1&lt;/STRONG&gt;];&lt;/P&gt;&lt;P&gt;&amp;nbsp;c[&lt;STRONG&gt;2&lt;/STRONG&gt;]=&lt;STRONG&gt;1&lt;/STRONG&gt;-x[&lt;STRONG&gt;2&lt;/STRONG&gt;];&lt;/P&gt;&lt;P&gt;&amp;nbsp;c[&lt;STRONG&gt;3&lt;/STRONG&gt;]=&lt;STRONG&gt;1&lt;/STRONG&gt;-x[&lt;STRONG&gt;3&lt;/STRONG&gt;];&lt;/P&gt;&lt;P&gt;&amp;nbsp;c[&lt;STRONG&gt;4&lt;/STRONG&gt;]=&lt;STRONG&gt;1&lt;/STRONG&gt;-x[&lt;STRONG&gt;4&lt;/STRONG&gt;];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;return(c);&lt;/P&gt;&lt;P&gt;finish;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;call randseed(&lt;STRONG&gt;1234567&lt;/STRONG&gt;);&lt;/P&gt;&lt;P&gt;x = j(&lt;STRONG&gt;10&lt;/STRONG&gt;,&lt;STRONG&gt;4&lt;/STRONG&gt;,&lt;STRONG&gt;.&lt;/STRONG&gt;);&amp;nbsp;&lt;/P&gt;&lt;P&gt;temp=j(&lt;STRONG&gt;1&lt;/STRONG&gt;,&lt;STRONG&gt;4&lt;/STRONG&gt;,&lt;STRONG&gt;.&lt;/STRONG&gt;);&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;opt = j(&lt;STRONG&gt;1&lt;/STRONG&gt;, &lt;STRONG&gt;11&lt;/STRONG&gt;, &lt;STRONG&gt;.&lt;/STRONG&gt;);&lt;/P&gt;&lt;P&gt;opt[&lt;STRONG&gt;1&lt;/STRONG&gt;]=&lt;STRONG&gt;1&lt;/STRONG&gt;;opt[&lt;STRONG&gt;2&lt;/STRONG&gt;] = &lt;STRONG&gt;0&lt;/STRONG&gt;; opt[&lt;STRONG&gt;10&lt;/STRONG&gt;] = &lt;STRONG&gt;4&lt;/STRONG&gt;;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;do i=&lt;STRONG&gt;1&lt;/STRONG&gt; to nrow(x);&lt;/P&gt;&lt;P&gt;&amp;nbsp;call randgen(temp,'uniform');&lt;/P&gt;&lt;P&gt;&amp;nbsp;CALL NLPNMS(rc,xres,"func",temp,opt, , , , , "C_UC2D");&lt;/P&gt;&lt;P&gt;&amp;nbsp;x[i,]=xres;&amp;nbsp;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;create want from x[c=('x1':'x4')];&lt;/P&gt;&lt;P&gt;append from x;&lt;/P&gt;&lt;P&gt;close;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;quit&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;print&lt;/STRONG&gt; noobs;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;means&lt;/STRONG&gt; data=want mean stderr ;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Oct 2016 12:50:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304352#M3054</guid>
      <dc:creator>Marx</dc:creator>
      <dc:date>2016-10-13T12:50:11Z</dc:date>
    </item>
    <item>
      <title>Re: Coding issue about nonnegative parameter estimation</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304374#M3055</link>
      <description>&lt;P&gt;There are a lot of problems here, so I'll have to be brief. I encourage you to look at the article &lt;A href="http://blogs.sas.com/content/iml/2011/10/12/maximum-likelihood-estimation-in-sasiml.html" target="_self"&gt;"Maximum likelihood estimation in SAS/IML"&lt;/A&gt;&amp;nbsp;and the &lt;A href="http://support.sas.com/documentation/cdl/en/imlug/68150/HTML/default/viewer.htm#imlug_nonlinearoptexpls_sect015.htm" target="_self"&gt;IML documentation about how to solve constrained optimizations&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here are some commetns:&lt;/P&gt;
&lt;P&gt;1. The paramters are x[1] through x[4]. The data is considered constant. You can set constraints on the parameters, but not on the data. You need to clean the data to make sure that it makes sense.&lt;/P&gt;
&lt;P&gt;2. There are problems in your DATA step&lt;/P&gt;
&lt;P&gt;3. You have mismatched parentheses in the definition of the objective function. &amp;nbsp;Does the expoential term multiply the sum of the other terms or only the last term?&lt;/P&gt;
&lt;P&gt;4.&amp;nbsp;You need to rescale the T variable, perhaps by setting T = T - 1990. &amp;nbsp;The expression EXP(-x[4]*T) will be zero unless you rescale.&lt;/P&gt;
&lt;P&gt;5. You have LINEAR constraints on the boundary of the parameter space. therefore you do not need the&amp;nbsp;&lt;SPAN&gt;C_UC2D function. Instead, use a 2x4 matrix in which the first row specifies the lower constraints and the second row contains missing values to indicates that there are not upper bound constraints.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;6. Since you want to minimize, set opt[1]=0.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Here's a start. You need to decide what to do about (3) and (4).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards truncover expandtabs;
input G1 G2 M1 M2 EQ T;
cards;
5000  4000  4824 2461 1.073446328 1990
5000  4000  4822 2585 1.06741573  1991
5000  4000  4911 2696 1.06741573  1992
5000  4000  5033 2879 1.06442577  1993
5000  4000  5098 3058 1.058495822 1994
5000  4000  5138 3320 1.052631579 1995
5000  4000  5261 3463 1.046831956 1996
5000  4000  5375 3470 1.043956044 1997
5000  4000  5411 3324 1.035422343 1998
5000  4000  5510 3318 1.032608696 1999
5000  4000  5702 3405 1.027027027 2000
5000  4000  5601 3488 1.02425876  2001
5000  4000  5649 3694 1.018766756 2002
5000  4000  5679 4525 1.010638298 2003
5000  4000  5763 5288 1.00795756  2004
5000  4000  5795 5790 1           2005
5000  4000  5704 6414 0.994764398 2006
5000  4000  5795 6792 0.989583333 2007
5000  4000  5622 7035 0.984455959 2008
5000  4000  5274 7692 0.981912145 2009
5000  4000  5409 8257 0.974358974 2010
;
run;

proc iml;
use have;
read all var {G1 G2 M1 M2 EQ T};
close;

T = T - min(T);  /* start time at 1990??? */

start func(x) global(G1, G2, M1, M2, EQ, T);
 /* ??? Which terms does EXP term multiply? */
 v = ( x[1]/2#(M1-G1)##2 + x[2]/2#(M2-G2)##2 + x[3]/2#(1-EQ)##2 ) # EXP(-x[4]*T);
 obj=sum( v );
 return (obj);
finish;

/* test objective func */
x = j(4,1,1);
LL = func(x);
print LL;

opt = j(1, 11, .);
opt[1]=0;opt[2] = 4;

/*    constraint matrix */
con = { 1e-16 1e-16 1e-16 1e-16,  /* lower bounds above 0 */
        .     .     .     .};     /* no constraints on upper bounds */
CALL NLPNMS(rc,xres,"func", x,opt, con);
print rc xres;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 13 Oct 2016 14:25:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304374#M3055</guid>
      <dc:creator>Rick_SAS</dc:creator>
      <dc:date>2016-10-13T14:25:47Z</dc:date>
    </item>
    <item>
      <title>Re: Coding issue about nonnegative parameter estimation</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304549#M3056</link>
      <description>&lt;P&gt;I don't understand your constrained condition:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;1. (M1-G1)+ =max[0, (M1-G1)]&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;2. (M2-G2)+ =max[0, (M2-G2)]&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;3. (1-EQ)+ =max[0, (1-EQ)]&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What it is &amp;nbsp;'+=' &amp;nbsp;?&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 14 Oct 2016 06:38:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304549#M3056</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-10-14T06:38:07Z</dc:date>
    </item>
    <item>
      <title>Re: Coding issue about nonnegative parameter estimation</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304568#M3057</link>
      <description>&lt;P&gt;Why use SUM in object function ,since each row corresponding to a solution ?&lt;/P&gt;
&lt;P&gt;And assuming constrained condition is :&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;1. (M1-G1) =max[0, (M1-G1)]&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;2. (M2-G2)=max[0, (M2-G2)]&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;3. (1-EQ) =max[0, (1-EQ)]&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;

data have;
infile cards truncover expandtabs;
input G1 G2 M1 : comma32. M2 : comma32. EQ T;
cards;
5000  4000  4,824 2,461 1.073446328 1990
5000  4000  4,822 2,585 1.06741573  1991
5000  4000  4,911 2,696 1.06741573  1992
5000  4000  5,033 2,879 1.06442577  1993
5000  4000  5,098 3,058 1.058495822 1994
5000  4000  5,138 3,320 1.052631579 1995
5000  4000  5,261 3,463 1.046831956 1996
5000  4000  5,375 3,470 1.043956044 1997
5000  4000  5,411 3,324 1.035422343 1998
5000  4000  5,510 3,318 1.032608696 1999
5000  4000  5,702 3,405 1.027027027 2000
5000  4000  5,601 3,488 1.02425876  2001
5000  4000  5,649 3,694 1.018766756 2002
5000  4000  5,679 4,525 1.010638298 2003
5000  4000  5,763 5,288 1.00795756  2004
5000  4000  5,795 5,790 1           2005
5000  4000  5,704 6,414 0.994764398 2006
5000  4000  5,795 6,792 0.989583333 2007
5000  4000  5,622 7,035 0.984455959 2008
5000  4000  5,274 7,692 0.981912145 2009
5000  4000  5,409 8,257 0.974358974 2010
;
run;
 
proc iml;
use have nobs nobs;
read all var {G1 G2 M1 M2 EQ T};
close;
 
start func(x) global(M1_G1,M2_G2,_1_EQ,_T);
 obj=((x[1]/2)#M1_G1##2 + (x[2]/2)#M2_G2##2 + (x[3]/2)#_1_EQ##2)*EXP(-x[4]*_T);
 return (obj);
finish;


/*number of Xi*/
n=4; 
/* constraint conditions - 0&amp;lt;=x1,0&amp;lt;=x2,...*/
con=repeat({0,.},1,n);
/* initial value of x1,x2,...*/
x=j(1,n,1/n);
/* minimize object function value*/
optn={0 0};

solution=j(nobs,n+1,.);
do i=1 to nobs;
M1_G1=max(0,(M1[i]-G1[i]));
M2_G2=max(0,(M2[i]-G2[i]));
_1_EQ=max(0,(1-EQ[i]));
_T=T[i]; 
 /* xres is a solution if rc&amp;gt;0 */
 call nlpnra(rc,xres,"func",x,optn,con);
solution[i,1]=rc;
solution[i,2:n+1]=xres;
end;

vname={return_code}||('x1':'x'+char(n));
create want from solution[c=vname];
 append from solution;
 close;
quit;
title 'Xi is a solution if return code &amp;gt; 0';
proc print noobs;run;

proc means data=want mean stderr ;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 14 Oct 2016 08:01:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304568#M3057</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-10-14T08:01:03Z</dc:date>
    </item>
    <item>
      <title>Re: Coding issue about nonnegative parameter estimation</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304569#M3058</link>
      <description>&lt;P&gt;Dear Rick,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much for your response.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For 3, I attahced the objective function. Each variable has time variable. For example, M1 =&amp;gt; M1(T)&lt;/P&gt;&lt;P&gt;If I want to estimate the parameter values for this objective function, then I would like to know how to make a coding in SAS.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For 4, I agree on your opition. In this case, I would like to change T. T= T-1990.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to know if we can estimate parameter values using&lt;SPAN&gt;&amp;nbsp;quasi-&lt;/SPAN&gt;&lt;EM&gt;full&lt;/EM&gt;&lt;SPAN&gt;-&lt;/SPAN&gt;&lt;EM&gt;information&lt;/EM&gt;&lt;SPAN&gt;-&lt;/SPAN&gt;&lt;EM&gt;maximum&lt;/EM&gt;&lt;SPAN&gt;-&lt;/SPAN&gt;&lt;EM&gt;likelihood &lt;/EM&gt;with SAS/IML or not.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sincerely yours,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;J1&lt;/P&gt;</description>
      <pubDate>Fri, 14 Oct 2016 08:26:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304569#M3058</guid>
      <dc:creator>Marx</dc:creator>
      <dc:date>2016-10-14T08:26:17Z</dc:date>
    </item>
    <item>
      <title>Re: Coding issue about nonnegative parameter estimation</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304570#M3059</link>
      <description>&lt;P&gt;Dear Ksharp,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much for your coding.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I attahced the objective function here. Each variable has time variable (e.g. M1 =&amp;gt; M1(T)).&lt;/P&gt;&lt;P&gt;For this objective function, only positive differences are considered.&amp;nbsp;&lt;STRONG&gt;(M1-G1)+=max[0, (M1-G1)]&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I saw the results about the parameter values are the same. It does not make sense to me. If I want to add one more constraint x[1] &amp;gt; x[2], then I would like to know how to add this constraint.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sincerely yours,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;J1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 14 Oct 2016 08:41:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304570#M3059</guid>
      <dc:creator>Marx</dc:creator>
      <dc:date>2016-10-14T08:41:25Z</dc:date>
    </item>
    <item>
      <title>Re: Coding issue about nonnegative parameter estimation</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304647#M3060</link>
      <description>&lt;P&gt;&lt;EM&gt;&amp;gt;&amp;nbsp; If I want to add one more constraint x[1] &amp;gt; x[2], then I would like to know how to add this constraint.&amp;nbsp;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To add additional constraints, you would add additional rows to the&amp;nbsp;constraint matrix, &lt;A href="http://support.sas.com/documentation/cdl/en/imlug/68150/HTML/default/viewer.htm#imlug_nonlinearoptexpls_sect015.htm" target="_self"&gt;as explained in the documentation&lt;/A&gt;. For example, x[1] &amp;gt; x[2] is coded as&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
/*    constraint matrix */
con = { 1e-16 1e-16 1e-16 1e-16 . .,  /* lower bounds above 0 */
        .     .     .     .     . .,  /* no constraints on upper bounds */
        1     -1     .    .     1 1e-16};  /* x1 - x2 &amp;gt; 1e-16 */&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The notation (M-G)+ is a standard mathematical definition, but I don't understand why it is relevant. That function does not seem to be part of the objective function.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I think you need to understand your problem a little better before you try to optimize.&amp;nbsp;For example, the code you sent&amp;nbsp;optimizes the integrand in the PDF file, but the formula in the PDF file indicates that problem is to&amp;nbsp;minimize a definite integral over possible values of G1_bar and G2_bar. &amp;nbsp; Which is it?&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Are the parameters (nu1, nu2, xi, delta3) and the objective function the integrand?&lt;/LI&gt;
&lt;LI&gt;Are the parameters (&lt;SPAN&gt;G1_bar,&amp;nbsp;G2_bar) and the objective function the integral? In that case, the objective function you wrote is wrong&amp;nbsp;because you need to integrate the EXP term w/r/t t and evaluate at t1 and t0.&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;</description>
      <pubDate>Fri, 14 Oct 2016 12:57:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304647#M3060</guid>
      <dc:creator>Rick_SAS</dc:creator>
      <dc:date>2016-10-14T12:57:04Z</dc:date>
    </item>
    <item>
      <title>Re: Coding issue about nonnegative parameter estimation</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304843#M3061</link>
      <description>&lt;P&gt;OK. I remember it is untility function.&lt;/P&gt;
&lt;P&gt;Rick make a lot of sense. I think either your objection is not right or you need more constrain condition.&lt;/P&gt;
&lt;P&gt;The output is also not look right.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;

data have;
infile cards truncover expandtabs;
input G1 G2 M1 : comma32. M2 : comma32. EQ T;
cards;
5000  4000  4,824 2,461 1.073446328 1990
5000  4000  4,822 2,585 1.06741573  1991
5000  4000  4,911 2,696 1.06741573  1992
5000  4000  5,033 2,879 1.06442577  1993
5000  4000  5,098 3,058 1.058495822 1994
5000  4000  5,138 3,320 1.052631579 1995
5000  4000  5,261 3,463 1.046831956 1996
5000  4000  5,375 3,470 1.043956044 1997
5000  4000  5,411 3,324 1.035422343 1998
5000  4000  5,510 3,318 1.032608696 1999
5000  4000  5,702 3,405 1.027027027 2000
5000  4000  5,601 3,488 1.02425876  2001
5000  4000  5,649 3,694 1.018766756 2002
5000  4000  5,679 4,525 1.010638298 2003
5000  4000  5,763 5,288 1.00795756  2004
5000  4000  5,795 5,790 1           2005
5000  4000  5,704 6,414 0.994764398 2006
5000  4000  5,795 6,792 0.989583333 2007
5000  4000  5,622 7,035 0.984455959 2008
5000  4000  5,274 7,692 0.981912145 2009
5000  4000  5,409 8,257 0.974358974 2010
;
run;
 
proc iml;
use have nobs nobs;
read all var {G1 G2 M1 M2 EQ T};
close;
 
start func(x) global(G1, G2, M1, M2, EQ, T); 
 obj=sum(  ( x[1]#((M1-G1)&amp;lt;&amp;gt;0)##2 + x[2]#((M2-G2)&amp;lt;&amp;gt;0)##2 + x[3]#((1-EQ)&amp;lt;&amp;gt;0)##2 )#EXP(-x[4]#T) );
 return (obj);
finish;


/*number of Xi*/
n=4; 
/* constraint conditions - 0&amp;lt;=x1,0&amp;lt;=x2,...*/
con={0  0 0 0 . .,
     .  . . . . .,
     1 -1 . . 1 0};
/* minimize object function value*/
optn={0 0};
call randseed(1234567890);
solution=j(100,n+1,.); /*Change 100 to get more solution*/
do i=1 to 100; /*Change 100 to get more solution*/
/* initial value of x1,x2,...*/
x=j(1,n,.);
call randgen(x,'uniform'); 
 /* xres is a solution if rc&amp;gt;0 */
 call nlpnra(rc,xres,"func",x,optn,con);
solution[i,1]=rc;
solution[i,2:n+1]=xres;

/*Check initial value and solution*/
print x[l='Initial Value'],xres[l='Solution'];
end;

vname={return_code}||('x1':'x'+char(n));
create want from solution[c=vname];
 append from solution;
 close;
quit;
title 'Xi is a solution if return code &amp;gt; 0';
proc print noobs;run;

proc means data=want mean stderr ;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 15 Oct 2016 03:53:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304843#M3061</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-10-15T03:53:01Z</dc:date>
    </item>
    <item>
      <title>Re: Coding issue about nonnegative parameter estimation</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304852#M3062</link>
      <description>&lt;P&gt;Dear Rick,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;"The notation (M-G)+ is a standard mathematical definition, but I don't understand why it is relevant. That function does not seem to be part of the objective function."&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;My objective function is the social cost function abouth emissions.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;M1 is the actural emissions, and G1 is the limits of emissions.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;nu1*(M1-G1)^2/2 is the abatemet cost function for the emissions. In this case, it was assumed that it is cosidered only positive difference between M1 and G1. So, for the objective function, I added&amp;nbsp;(M1-G1)+ = max (0, M1-G1).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1. The&amp;nbsp;parameters (nu1, nu2, xi, delta3) are fixed for the objective function.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;2. The objective function is&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;(nu1*(M1(1990)-G1(1990))^2/2 +&amp;nbsp;nu2*(M2(1990)-G2(1990))^2/2 + xi*(1-EQ(1990))^2/2)*EXP(-delta3*(1990))&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;+(nu1*(M1(1991)-G1(1991))^2/2 +&amp;nbsp;&lt;SPAN&gt;nu2*(M2(1991)-G2(1991))^2/2 + xi*(1-EQ(1991))^2/2)*EXP(-delta3*(1991))&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;+...&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;(nu1*(M1(2000)-G1(2000))^2/2 +&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;nu2*(M2(2000)-G2(2000))^2/2 + xi*(1-EQ(2000))^2/2)*EXP(-delta3*(2000))&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;FYI, I am studying about the optimal control probelm. This objective function has many constrains (nonlinear) including state equations.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I need appropriate parameter values to solve the optimal control problem. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I would like to know if&amp;nbsp;this way to get the parameter values for the optimal control problem using SAS/IML is correct or not.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Sincerey yours,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;J1&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 15 Oct 2016 06:10:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304852#M3062</guid>
      <dc:creator>Marx</dc:creator>
      <dc:date>2016-10-15T06:10:47Z</dc:date>
    </item>
    <item>
      <title>Re: Coding issue about nonnegative parameter estimation</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304854#M3063</link>
      <description>&lt;P&gt;I saw a problem.&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;EXP(-delta3*(1990)) will be near zero due to 1990. So any of them multiply it will be zero, your obj value will always be zero.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I also noticed in PDF t is continuous variable, but in your real data t is discrete, I think you should not include t in your obj function.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 15 Oct 2016 06:40:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/304854#M3063</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-10-15T06:40:59Z</dc:date>
    </item>
    <item>
      <title>Re: Coding issue about nonnegative parameter estimation</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/331964#M3284</link>
      <description>&lt;P&gt;&lt;SPAN class="login-bold"&gt;Dear&amp;nbsp;&lt;A href="https://communities.sas.com/t5/user/viewprofilepage/user-id/18408" target="_self"&gt;Ksharp&lt;/A&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="login-bold"&gt;I asked about coding below last year.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="login-bold"&gt;If someone asked me where the detailed results (parameter estimation) can be found, then I would like to how to explain this verbally.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN class="login-bold"&gt;"The parameters in the social cost function is estimated using nonlinear optimazation by Newton-Raphson method in SAS/IML. Parameters are estimated by maximum likelihood using a Newton-Raphson algorithm. Using the sample normal approximation, standard errors of the parameter esimates are estimated from the inverse of the observed information matrix."&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to know this explanation is correct or not.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much in advance.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sincerely yours,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;J1&lt;/P&gt;</description>
      <pubDate>Sun, 12 Feb 2017 15:10:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/331964#M3284</guid>
      <dc:creator>Marx</dc:creator>
      <dc:date>2017-02-12T15:10:29Z</dc:date>
    </item>
    <item>
      <title>Re: Coding issue about nonnegative parameter estimation</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/332050#M3285</link>
      <description>&lt;PRE&gt;
Sorry. I think that didn't describe correctly.
Should like:
The parameters in the social cost function is estimated using nonlinear optimazation by Newton-Raphson method in SAS/IML. Parameters are estimated by  minimizing object function(cost function) using a Newton-Raphson algorithm. Using a lot of different initial values (x) which are used for Newton-Raphson method, standard errors of the parameter esimates are estimated from calculating the std of all these solutions.



&lt;/PRE&gt;</description>
      <pubDate>Mon, 13 Feb 2017 02:24:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/332050#M3285</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-02-13T02:24:30Z</dc:date>
    </item>
    <item>
      <title>Re: Coding issue about nonnegative parameter estimation</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/332479#M3290</link>
      <description>&lt;P&gt;Dear Ksharp,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="login-bold"&gt;Thank you very much for your help.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="login-bold"&gt;Sincerely yours,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="login-bold"&gt;J1&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Feb 2017 05:54:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Coding-issue-about-nonnegative-parameter-estimation/m-p/332479#M3290</guid>
      <dc:creator>Marx</dc:creator>
      <dc:date>2017-02-14T05:54:43Z</dc:date>
    </item>
  </channel>
</rss>

