%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%                                                                         %%%
%%%   Dosiero " softo.tex "                                                 %%%
%%%                                                                         %%%
%%%   La formato  respondas al la internacia normo  21.0 cm x 29.7 cm       %%%
%%%   Se vi deziras alian formaton, bv. shanghi la koncernajn komandojn     %%%
%%%   en la dokumento-kapo                                                  %%%
%%%                                                                         %%%
%%%   Transformu la dosieron per "latex ....."                              %%%
%%%   Neglektu la avertojn : "Overfull \hbox"                               %%%
%%%                                                                         %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\documentstyle[12pt]{article}            
\parskip1ex plus0.5ex minus0.2ex
\textwidth15.5cm    \textheight23cm
\oddsidemargin0mm   \evensidemargin-4.5mm   \topmargin-10mm
\begin{document}

\begin{tabular}{|c|}
\hline
    \\
{\bf \hspace*{5mm}
Eltira\^{\j}o el
}\\
{\bf \large \hspace*{5mm}
Acta Sanmarinensia  2.5/1992
} \\
\hspace*{5mm}{\bf
ISBN 83-85033-07-1
} \\[4mm]
\hspace*{5mm}
{\bf De tiu-\^ci publika\^{\j}o estas haveblaj traduka\^{\j}oj en la lingvoj :
\hspace*{5mm} }\\
\hspace*{3cm}{\bf
germana
} \\
  \\
\hline
\end{tabular}
\\[5mm]

\begin{center}
{\bf \large
Evoluigo de portebla programar-sistemo \\
por statistikaj analizoj
}

de H. D. Quednau, M\"unchen (D)\\
( Prelego prezentita dum SUS 8 en Bia{\l}ystok (PL), septembro 1990 )
\end{center}

{\bf Resumo} \\
\ \ \ 
   Estas prezentita libere akirebla program-sistemo por efektivigi
sta\-tistikajn analizojn. La \^gis nun verkitaj modjuloj$^*$ konsistas el
uzanto-afabla daten-interfaco kaj el programoj por a\u{u}tomata
deriveado$^*$, por la analizo de \^Generalaj Linearaj Modeloj kaj por la
optimumigo de maksimum-ver\^sajnec-funkcionoj$^*$. \^Ciuj programoj estas
porteblaj de MS/DOS-PK \^gis kom\-pu\-tilego; se necese la uzanto povas
kombini ilin kun propraj rutinoj kaj/a\u{u} la\u{u}pla\^ce modifi.

{\bf Zusammenfassung} \\
\ \ \ 
   Es wird ein frei zug\"angliches Programmsystem zur Durch\-f\"uhrung
statistischer Analysen vor\-gestellt. Die bisher entwickelten Module
bestehen aus einer benutzer\-freundlichen Daten\-schnitt\-stelle und aus
Programmen zum automatischen Differenzieren, zur Auswertung von Allgemeinen
Linearen Modellen und zur Optimierung von Maximum-Likelihood-Funktionen.
Alle Programme sind portabel vom MS/DOS-PC bis zum Gro\ss \-rechner; sie
k\"onnen bei Bedarf vom Benutzer mit eigenen Routinen kombiniert und/oder
nach Belieben ver\-\"andert werden.

\ 

    La plej granda parto de la sciencistoj, almena\u{u} en la okcidento,
uzas por statistikaj analizoj unu el la konataj kaj \^satataj komercaj
program-paka\^{\j}oj, kiel ekzemple SPSS, BMDP, SAS, GLIM kaj multajn
aliajn. Oni povas diri, ke iu nove elpensita algoritmo estas fakte uzata
maljam tiam, kiam \^gi enirintas en unu el tiuj programar-sistemoj. La
eks\-kluziva uzado de tiuj pretaj program-paka\^{\j}oj evidente havas
avanta\^gojn: Oni akiras rezultojn multe pli rapide ol se oni devus unue
ser\^ci ta\u{u}gajn algoritmojn kaj poste skribi kaj testi la koncernan
komputil-programon. Kutime la uzanto ricevas krom la dezirataj rezultoj
multajn pluajn, inter kiuj li povas libere elekti tiujn, kiuj plej pla\^cas
al li. Kompreneble tia proced-maniero tute kontra\u{u}as la plej bazajn
principojn de la statistiko, tamen estas oftege farata.

   Tiun afablecon de la program-paka\^{\j}o la uzanto dankas per tia
fideleco, kia en nia tempo aliloke apena\u{u} estas trovebla: Scien\-cisto
eble kelkfoje estas mal\-fidela al sia edz(in)o, sed
{\bf neniam} al sia statistika programar-sistemo. Tiu kor\-tu\^sa fideleco
be\-da\u{u}rinde kunportas kelkajn gravajn mal\-avan\-ta\^{\j}ojn por la
scienca esplorado, el kiuj mi menciu jenajn:

   I.: La uzanto limigas sin al tiuj metodoj, kiuj pli malpli hazarde estas
enigitaj en lian sistemon. La\u{u} mia sperto, ordinara uzanto neniel estas
per\-svadebla apliki metodon, kiun lia paka\^{\j}o ne enhavas, e\^c se \^gi
estas multe pli adekvata al lia problemo ol la tradicie uzata.

  II.: Dua malavanta\^go estas, ke la a\^ceteblaj sistemoj ne ebligas e\^c
la plej etajn modifojn. Al mi ekzemple okazis, ke funkcion$^*$-opti\-mumiga
programo kapti\^gis en sel-punkto, a\u{u} ke la nombro de variabloj estis
limigita al valoro tro mal\-granda por mia tasko. Se mi dis\-ponintus pri
la fonto-teksto de la kon\-cerna programo, mi ja facile povintus solvi la
problemon. Sed la fonto-tekston la programar\-firmaoj ja ne dis\-donas, pro
la timo de \^stel-kopiado.

 III.: Pro la sama ka\u{u}zo provizoraj rezultoj, kiujn la programo ne
eldonas, perdi\^gas sen ke la uzanto havas la eblecon akiri ilin por
propraj kalkuloj.

  IV.: Ofte la programar-paka\^{\j}o efektivi\^gas nur en difinitaj
kom\-putil\-sistemoj, ekz. nur en MS/DOS-komputiloj (la tiel-nomataj
IBM-kongruaj) a\u{u} nur en kelkaj grand-komputiloj. Do, se oni uzontas
alian komputilon a\u{u} eble nur alian mastruman sistemon, oni sam\-tempe
devas \^san\^gi la statistikan metodaron.

   V.: La prezoj de la pro\-gramar\-sistemoj kelkfoje estas
kon\-siderindaj. En lando, kiu havas valutajn problemojn, ofte estas tre
mal\-facile a\^ceti la pro\-gramojn, kiuj uzatas en la okcidentaj
industri-landoj. Tio ege mal\-helpas la liberan inter\-nacian
inter\-\^san\^gon de sciencaj informoj.

   Malgra\u{u} tiuj malavanta\^goj mi tute ne neas la meritojn de la
komercaj statistikaj pro\-gram-paka\^{\j}oj. Ili estas multe helpintaj
enkonduki sta\-tistikajn analiz\-metodojn en multajn scienco-bran\^cojn.
Tamen mi kredas, ke oni facil\-anime for\-donas multajn eblecojn, se oni
kvaza\u{u} katenas sin al ili, kiel fakte plej ofte okazas. Estas
dezirinde, ke krom la konataj komercaj sistemoj ekzistu anka\u{u} aliaj,
kiuj la\u{u}eble evitu la pri\-paro\-litajn mal\-avanta\^gojn. Tia sistemo

  1 - devas disponi pri interfaco al uzanto, kiu estu same komforta kiel
\^ce la a\^ceteblaj sistemoj

  2 - estu plene manipulebla. Per tiu mi celas, ke \^gi ne nur permesu sed
e\^c apogu \^san\^gojn en \^ciu nivelo. Tio inklu\-zivas, ke oni havas
alireblon al \^ciuj pro\-vi\-zo\-raj rezultoj.

  3 - estu portebla. Tio signifas, ke post kompilado de la sama
fonto-teksto \^gi estu efek\-ti\-vi\-gebla sur \^ciu-specaj kom\-pu\-tiloj,
de simpla MS/DOS-aparato \^gis la plej alt\-nivelaj grand- a\u{u}
super-kom\-putiloj.

  4- estu senpage disdonata almena\u{u} por sciencaj aplikoj.

  Pluajn postulojn al malfermaj, ``re-uzeblaj'' programoj resumas
{\sc F\"o\ss meier}~(1990) (\^capitro 6\ : Programado kiel re-uzo).

   Tian sistemon mi estas evoluiganta kune kun studentoj de la TU
M\"unchen. La unuajn plano-\^stupojn mi estas pre\-zentinta en {\sc Quednau}
(1990). Nun estas pretaj kelkaj modjuloj$^*$, kiujn mi \^satus prezenti
\^ci-tie. Por la programado ni uzis la program-lingvon ``C'', kiu
montri\^gis la plej ta\u{u}ga por nia celo. Por certigi la port\-eblecon,
ni strikte limigis nin al la \^generala normo, sen iam uzi
speciala\^{\j}ojn de la mastruma sistemo. Pro la sama ka\u{u}zo ni ne uzis
grafikan inter\-facon, sed la komu\-ni\-kado inter la uzanto kaj niaj
programoj efektivi\^gas per entajpitaj komandoj a\u{u} per komando-dosieroj
en tute kutima ASCII-formato.

   La modjuloj \^gis nun ellaboritaj estas montrataj \^ci-tie :

\begin{tabular}{lll}

          XDM :     & \^Generala daten-interfaco & (Kick 1989) \\

          LINMOD :  & \^Generala Lineara Modelo  &  (uzas modjulon XDM) \\

          AUTDIFF : & A\u{u}tomata deriveado$^*$ &      (Bareuther 1990) \\

          OPTIM :   & Optimumigo             &    (Staudinger 1990) \\

          MVSI :    & Maksimum-ver\^sajneco  &  (uzas modjulojn XDM, \\

                    &                        &      AUTDIFF kaj OPTIM)
\end{tabular}

  La unua estas la \^generala interfaco inter la dosiero, kiu enhavas la
observitajn datenojn, alivorte la daten-dosiero, kaj la analiz-programoj.
Kutime la datenaro estas matrico, kies horizontaloj reprezentas
esplor\-unuojn, ekz. arbojn, kaj la vertikaloj enhavas ties atributojn
(komparu {\sc Quednau}~1989).

\begin{tabular}{|c||c|c|c|c|c|}
\hline
  & specio & alto & diametro & sanstato & ... \\
\hline
arbo 1 & & & & &      \\
arbo 2 & & & & &      \\
 ...   & & & & &      \\
\hline
\end{tabular}

 La unua pa\^so por statistika analizo de tia datenaro estas elekti kelkajn
esplor\-unuojn (ekz. la fagojn), eltiri kelkajn atributojn de la elektitaj
esplor\-unuoj, eble efektivigi transformojn (kelkfoje en sufi\^ce komplika
maniero), kaj determini, kiuj analizoj fakte estas farendaj. Tiu tasko
estas plenumata de la modjulo XDM (DM = daten-manipulado). La uzanto
skribas siajn dezirojn en komando-dosieron, kiu kon\-sistas el pluraj
paragrafoj. \^Ciu paragrafo en\-tenas unu a\u{u} plurajn
asigno-pre\-skribojn. Jen eta ekzemplo:

\begin{description}
\item fonto  \\
        fontdosiero = ''arbaro.dat'' ;  \\
        atributoj = 4 ; 
\item variabloj  \\
        nomoj = Specio, Alto, Diametro, Sanstato,   LDiametro, LAlto ;  \\
        nombrokategorioj de Sanstato = 0,1,2,3,4 ;
           $\backslash$  generigas fantoman vektoron  
%%%         $\backslash$  Da\u{u}rigo sur sekva pa\^go
\item transformoj  \\
        se Specio != 3 tiam forjhetu ; finose ;  \\
        se Diametro == 0 tiam forjhetu; alie LDiametro = log(Diametro) ;
                                                             finose ;  \\
        LAlto = log(Alto) ;
\item problemo  \\
        dependaj = LAlto ;  \\
        modelo = 1,LDiametro,Sanstato,LDiametro*Sanstato ;  \\
        Testo = ''LDiametro*Sanstato'' ;
            \hspace{6em}  $\backslash$  testo pri interago  \\
 Testo = Sanstato,''LDiametro*Sanstato'' ;
             \hspace{2em} $\backslash$  testo pri sanstato
\item fino 
\end{description}
 La unua paragrafo, nomita ``fonto'', deskriptas$^*$ la daten-dosieron,
nome ties nomon kaj la nombron de atributoj. La sekvanta paragrafo listigas
la variablojn de la analizo. Tiuj estas unue la atributoj en la datenaro,
kaj due pluaj grandoj, kiujn oni akiras per transformado de ili (vidu la
sekvan paragrafon). La aserto ``nombrokategorioj de ... = ...'' igas la
programon transformi la kon\-cernan variablon en tiel-nomatan
{\bf fan\-toman vek\-toron} (angle dummy vector), kies dimensio estas $d-1$,
kie $d$ estas la nombro de la kategorioj. \^Giaj komponantoj estas formataj
jene:
\begin{eqnarray*}
   \mbox{Se} \: var < d & \Rightarrow & fan.vec(var) = 1 \; \mbox{kaj} \;
        fan.vec(j \not= var) = 0
 \\
   \mbox{Se} \: var = d &  \Rightarrow &  fan.vec(j=1,..,d-1) = -1 .
\end{eqnarray*}
 \^Ce nia ekzemplo d egalas al 5, sekve la nombro-kategorioj estas
trans\-formataj jene:

\begin{tabular}{rrrrrr}
\hspace*{10em} 0 & $\rightarrow$ &  1 &  0 &  0 &  0 \\
\hspace*{10em} 1 & $\rightarrow$ &  0 &  1 &  0 &  0 \\
\hspace*{10em} 2 & $\rightarrow$ &  0 &  0 &  1 &  0 \\
\hspace*{10em} 3 & $\rightarrow$ &  0 &  0 &  0 &  1 \\
\hspace*{10em} 4 & $\rightarrow$ & -1 & -1 & -1 & -1
\end{tabular}

 Fantomaj vektoroj estas bezonataj en multaj statistikaj analizoj, ekz. kun
linearaj kaj \^gene\-ra\-ligitaj linearaj modeloj. Beda\u{u}rinde mi ne
povas pli funde detaligi tion \^ci-tie.

   En la paragrafo ``transformoj'' oni ne nur deskriptas simplajn
transformojn, kiel LAlto = log(Alto), sed oni povas anka\u{u} ekskludi
difinitajn esplor\-unuojn de la analizo (tion signifas la vorto
``forjhetu''), kaj oni povas enigi la preskribojn pri for\^{\j}etado a\u{u}
transformado en kon\-di\^co-strukturon, kiu havas la formon
 \\ \hspace*{3em}
``se..tiam..finose'' a\u{u} ``se..tiam..alie..finose''.

   Nun sekvas la plej grava paragrafo, nomita ``problemo''. \^Gi
preskribas, kion la modjulo fakte eligu. \^Ce tiu-\^ci ekzemplo la modjulo
transformas \^ciun ne-for\^{\j}etitan atributaron en du vektorojn, el kiu
unu, la dependo-vektoro, entenas nur la logaritmon de la alto, dum la alia,
la modelo-vektoro, estas multe pli komplika. Jen eta ekzemplo: Se iu
esplor\-unuo havas la atributojn :

 specio = 3 ; alto = 27 ; diametro = 16 ; sanstato = 2 ;

 tiam ni ricevas :

\begin{tabular}{cccccccc}
3 27 16 2 & & $\rightarrow$ & dep.vec : & 3.30 & & & \\
          & & $\rightarrow$ & mod.vec : &   1  & 2.77 & 0 0 1 0 & 0 0 2.77 0 \\
\end{tabular}

 La koncerna dependo-vektoro enhavas la logaritmon de 27 = 3.30, kaj la
modelo-vektoro enhavas unue la konstanton 1, tiam la logaritmon de la
diametro kaj tiam la fantoman vektoron, kiu respondas al 2. Post la
sanstato estas indikita en la modelo-deklaro la
{\bf interago} inter log(Diametro) kaj sanstato, kies fantoman vektoron oni
akiras simple per multi\-plikado de la kon\-cernaj \^cef-efikoj (\ do
log(Diametro) kaj san\-stato\ ). La dependo- kaj la modelo-vektoroj estas
generataj por \^ciuj ne-for\^{\j}etitaj esplor-unuoj. Male, la du lastaj
informoj
 (Testo = ''LDiametro*Sanstato'' ; Testo = Sanstato,''LDiametro*Sanstato'')
 estas plu\-donataj sen\^san\^ge. La
malsupren-streko ``$\backslash$'' indikas la komencon de komento.

   La modjulo XDM, kiun mi priparolis \^gis nun, estas nur la interfaco
inter la uzanto kaj la analiza programo. \^Gi mem faras neniujn
statistikajn analizojn, tamen \^gia tasko estas tre grava kaj multe pli
mal\-facile pro\-gramebla ol estas la sta\-tistikaj analiz\-algo\-ritmoj.

   La plej simpla kaj plej bone konata modelo por analizi tian datenaron
estas la {\bf \^Generala Lineara Modelo},
 kiun pri\-traktas la modjulo LINMOD. \^Gi supozas,
ke la cel\-variablo estas ga\u{u}se distri\-buita kun konstanta varianco
kaj kun ekspekto, kiu kalkuli\^gas kiel la skalar\-produto  el tia vico de
struktur-variabloj, kian kon\-sistigas la modelo-vektoro, kaj sam\-longa
vektoro de ne\-konataj para\-metroj:
\begin{eqnarray*}
 E \: (y_i) & = & b_0 * (x_0=1) + b_1 * x_1 + ... + b_r * x_r \\
\mbox{\^ci-tie} & = &
    b_0 * 1 + b_1 * 2.77 + b_2 * 0 + b_3 * 0 + b_4 * 1 + b_5 * 0 \\
 & & \hspace*{4em} + b_6 * 0 + b_7 * 0 + b_8 * 2.77 + b_9 * 0
\end{eqnarray*}
 La parametro-vektoron $\underline{b}$ oni povas tute simple kalkuli per
la metodo de kva\-drat\-mini\-mumigo.

   La unua el la du test\-hipotezoj asertas, ke ne ekzistas interago inter
la influvariabloj LDiametro kaj Sanstato, do
\[
   H_0^1 : b_6 = b_7 = b_8 = b_9 = 0,
\]
 kaj la dua, ke la sanstato ne efikas, nek kiel \^cefefiko, nek kiel
interago:
\[
    H_0^2 : b_2 = b_3 = b_4 = b_5 =  b_6 = b_7 = b_8 = b_9 = 0.
\]
 Anka\u{u} tiaj testoj estas fareblaj per kelkaj relative simplaj
matric-kalkuladoj. Jen ebla test\-rezulto, donita de la modjulo LINMOD :

  TESTREZULTOJ

\begin{tabular}{rccccl}
  lg &      & &    F  & m.a.a.  & efiko \\
 & & & & &  \\
   4 &      & & 1.941 & 0.10537 & LDiametro*Sanstato \\
   8 &      & & 4.134 & 0.00021 & Sanstato, LDiametro*Sanstato \\
 & & & & &  \\
 187 & 3.67 & &       &         & RESTVARIANCO  \\
\end{tabular}
\  \\

\begin{tabular}{rcll}
     lg & = & liberogrado   & \\
      F & = & testvariablo, & distribuita la\u{u} F-distribu\^ao, \\
        &   &               & se la koncerna testhipotezo estas vera \\
 m.a.a. & : & \multicolumn{2}{l}
         {donas la vostan probablon de la koncerna F-distribua\^{\j}o,} \\
        &   &               & kiun mi nomas ``malakceptiga adedo$^*$''. \\
\end{tabular}

   Se la malakceptiga adedo malplias ol 0.05, tiam la test\-rezulto estas
signifika, kaj ni devas mal\-akcepti la test\-hipotezon. \^Ce la supre
montrita ekzemplo ni vidas, ke ne estas statistike certigebla la ekzisto de
interagoj, sed ja estas certigita kun grandega signifiko, ke la sanstato
havas korelativon al la alto.

   Mi jam diris, ke en la praktiko la malfacila\^{\j}oj ne konsistas en la
programado de la analiza algoritmo; tio estas farebla dum mal\-longa tempo
anka\u{u} de ne spertega programisto. Kondi\^co por tio estas nur, ke la
analiz\-programo \^guste ricevas de \^ciu esplor\-unuo la dependo- kaj la
modelo-vektorojn. Aliflanke, tre mal\-facile estas komuniki al la komputilo
en hom\-konforma lingva\^{\j}o, kia\-maniere konstrui tiujn vektorojn el la
datenaro. La modjulo XDM \^guste tiun taskon plenumas.

   Kompreneble \^ciu komerca program-paka\^{\j}o dis\-ponas pri simila
interfac-modjulo, alie \^gi ja preska\u{u} ne povus labori. Tamen ekzistas
gravaj diferencoj inter la pri\-parolita XDM kaj la komercaj
interfac-modjuloj:

{\bf Unue}: Preska\u{u} \^ciam la rezultantaj vektoroj estas direktitaj nur al
la analiz\-programoj, sen ke la uzanto havas la eblecon uzi ilin por enigo
ekz. al propra programo. La konsekvenco de tio estas la jam menciita fakto,
ke la uzanto ne povas aldoni pluajn metodojn al la sistemo. Kun XDM la
situacio estas tute alia: \^Giaj komponantoj povas libere esti ligitaj al
propraj programoj, kaj oni povas uzi ilin anka\u{u} sendepende, ekz. por
sendi la rezultantajn vektorojn en dosieron.

{\bf Dua} avanta\^go de XDM estas, ke la fonto-teksto estas senkoste havebla,
tiel ke oni povas la\u{u}pla\^ce \^san\^gi \^gin. Tia \^san\^go estas
aparte simpla, se oni disponas pri la mastruma sistemo UNIX. Mi donu etan,
tamen sufi\^ce gravan ekzemplon. En la dosieraro, kiu konsistigas la
modjulon, ekzistas dosiero nomita ``language.tab''. Jen la komenco de la
origina versio de \^ci-tiu dosiero:

\begin{tabular}{ll}
   P\_ SOURCE  &   ''quelle'' \\
   ATTRIBUTES &  ''attribute'' \\
   INFILE     &  ''eingabe'' \\
   P\_ VARIABLE &  ''variable'' \\
   NAMES       & ''namen'' \\
   OF          & ''von'' \\
   ...         &            ... \\
\end{tabular}

 \^Gi enhavas la leksikonon de la komando-lingvo, kiu origine konsistis el
ger\-manaj vortoj. Alia dosiero, la tiel-nomata ``makefile'', enhavas la
UNIX-komandojn por generi el tiu language.tab kaj aliaj pra-programeroj la
pretajn ``C''-programojn. Por havi inter\-naci\-lingvan version de XDM, mi
tut\-simple verkis alian ``language.tab'', anstata\u{u}igante ties dekstran
parton per vortoj en Ilo:

\begin{tabular}{ll}
   P\_ SOURCE   &  ''fonto'' \\
   ATTRIBUTES  & ''atributoj'' \\
   INFILE      & ''fontdosiero'' \\
   P\_ VARIABLE &  ''variabloj'' \\
   NAMES       & ''nomoj'' \\
   OF          & ''de'' \\
   ...         &           ... \\
\end{tabular}

 Same simple oni povus generi komando-lingvon kun polaj a\u{u} litovaj
a\u{u} latin\-litere skribitaj rusaj vortoj. Sed ne nur la vortaron, sed
anka\u{u} la gramatikon de la lingvo oni povas \^san\^gi, kvankam ne tiom
simple. Beda\u{u}rinde mi ne havas la spacon por detaligi tion. Por tiuj ,
kiuj iom konas UNIX\ 'on, mi nur mal\-longe menciu, ke la skana kaj la
parsa programoj estas verkitaj helpe de la UNIX-iloj ``lex'' respektive
``yacc'' (bonan enkondukon en ilian uzadon donas Schreiner kaj Friedman
1985). Por modifi la strukturon de la komando-lingvo de XDM, oni povas
\^san\^gi la ``lex''- kaj ``yacc''-specifajn enigajn dosierojn.

   Post kiam mi estas priparolinta la bazajn ideojn pri la verkado de
portebla statistika programo iom pli detale per la ekzemplo de XDM, mi nun
povas pritrakti la aliajn modjulojn pli mallonge. La modjulon LINMOD mi jam
menciis kiel la plej simplan analiz\-programon uzantan la rezultojn de XDM.
Sekvas nun la modjulo AUTDIFF. \^Gi efektivigas a\u{u}tomatan deriveadon.
La deriveendan funkcionon oni deskriptas denove en komando-dosiero, kiu
\^ci-foje povas aspekti tiel (komentoj trovi\^gas inter ``\{..\}''-formaj
krampoj):

\begin{tabular}{ll}
       FIKSA       &  h , n; \\
       VAR         &  a,b,c; \\
       FUNKCIONOJ  &  z,f,g ; \\
       PROBLEMO    &  z = (h - a) / b ; \\
                   &  f = log(c) - log(b) + (c-1)*log(z) - z \^\ c ; \\
              &  g = - n * f ; \{ Temas \^ci-tie pri la Weibull-funkciono \} \\
       FINO        & \\
\end{tabular}

        La deriveenda funkciono nomi\^gas ``g''. \^Gi dependas de 3
variabloj ``a,b,c'', la\u{u} kiuj \^gi estas deriveenda, kaj du konstantoj
``h,n''. \^Gi estas difinita jene: g = - n * f, kie f estas mem
funkciono, dependanta krom de variabloj b kaj c anka\u{u} de la funkciono
z, kiu siaparte dependas de la variabloj a kaj b kaj la konstanto h. La
tuta estas la tiel-nomata Weibull-funkciono, kiu rolas ekz. en la analizo
de la distribua\^{\j}o de arbo-altecoj. Oni vidas, ke la logaritmo estas
senpere uzebla; la samo validas kompreneble por aliaj ofte uzataj
funkcionoj kiel sinuso, kosinuso ktp. Krome estas tre simple enkonduki
novajn funkcionojn en la sistemon; oni bezonas nur verki etan programon por
kalkuli la valoron kaj la derivea\^{\j}ojn de la nov\-enkon\-du\-kenda
funkciono. Por demonstri, kiel funkcias la modjulo, mi verkis etan
\^cef\-programon, kiu faras nenion alian ol demandi la uzanton pri la
valoroj de konstantoj kaj variabloj kaj poste elskribi la rezultojn. \^Ce
nia ekzemplo de la Weibull-funkciono la interago inter programo kaj uzanto
povus efektivi\^gi jene:

\begin{tabular}{ll}
   Komputilo:  &   Bv. enigi valorojn por 2 ''FIKSA''-variabloj \\
   Uzanto:     &   20 5 \\
   Komputilo:  &   Bv. enigi valorojn por 3 ''VAR''-variabloj \\
   Uzanto:     &   -0.5   1.5   2 \\
   Komputilo:  &   Rezulto  : \\
               &   f = 919.375680 \\
               &   Gradiento =   \\
               &   \hspace{3em}    -90.867209  -1238.518519  2426.507083  \\
               &   Hesse-matrico =   \\
               & $ \begin{array}{rrr}
                      4.456342  & & \\
                    121.481481  & 2485.925926 &  \\
                   -283.563544  & -3875.368435 & 6387.195895  \\
                 \end{array} $
\end{tabular}

   Kutime la modjulo AUTDIFF estas uzata ne aparte, sed kiel help-modjulo
de alia sistemero. Ekzemplo por tio estas la lasta pri\-paro\-lenda
modjulo, nome MVSI. \^Gia tasko estas optimumigo de, mi diru angle
``maximum likelihood''- funkcionoj. Por la internacie vaste konata termino
``maximum likelihood'' ni povus diri maksimuma ver\^sajneco a\u{u}
ver\-similo. Tiu maksimum-ver\^sajnec-metodo estas principe tre fleksebla
kaj vaste aplikebla, tamen la fakta apliko limi\^gas per tio, ke ne
ekzistis afabla interfaco al uzanto por deskripti la specifajn modelojn. Mi
esperas, ke la modjulo MVSI en kunlaboro kun la modjuloj XDM, AUTDIFF kaj
OPTIM tian interfacon nun disponigas. Ni rigardu tre tipan ekzemplon: Ni
havas denove por \^ciu observa\^{\j}o dependo-vektoron \underline{y} kaj
model-vektoron \underline{x}. Tiuj 2 vektoroj estas eltiritaj el la
observo-datenaro per la modjulo XDM. Denove ni kalkulas la skalarproduton de la
model-vektoro \underline{x} kaj la parametro-vektoro \underline{b}
kaj nomas \^gin z.
\[
\sum_{j=0}^r \: b_j \, * \, x_j \: = \; z
\]
     La negativa logaritmo de la ver\-\^sajneco de \underline{y} kalkuli\^gas
pere de la negativa logaritmita ver\^sajnec-funkciono nlv, kiu dependas,
krom de \underline{y}, de la skalar\-produto z kaj eble aliaj nelinearaj
parametroj $a_1, a_2,$ ..
\[
- log [ V (\underline{y}) ] = nlv (\underline{y} , z, \; a_1, a_2, ..)
\]
 La stima\^{\j}ojn por la vektoro \underline{b} kaj la nelinearaj parametroj
$a_1, a_2,$ .. oni akiras per la minimumigo de la funkciono nlv. La
minimumigajn algoritmojn enhavas la modjulo OPTIM, kiun helpas unue la
modjulo XDM, eltirante la modelo-vektoron el la observo-datenaro, kaj due
la modjulo AUTDIFF, difinante la mini\-mumigendan funkcionon nlv kaj ties
derivea\^{\j}ojn, kiujn OPTIM bezonas por trovi la minimumon. Sekve la
komando-dosiero por MVSI konsistas el du partoj, unu por XDM kaj unu por
AUTDIFF, kiel estas montrite \^ci-tie :

\pagebreak
   $\backslash$  Vidu  Unkelbach/Wolf : Qualitative Dosis-Wirkungs-Analysen
 Pagho 29
\begin{description}
\item   fonto \\
     atributoj=3; fontdosiero=''unkel2.dat''; observoj=20;
\item   variabloj \\
  $  \begin{array}{rrl}
 \mbox{nomoj =} & DOZO & 
      \mbox{, \hspace{4em}  $\backslash$  [mg/l]} \\
 & \mbox{n} & 
      \mbox{, \hspace{4em}  $\backslash$  Nombro de observitaj skaraboj}   \\
 & \mbox{r} &  
      \mbox{; \hspace{4em}  $\backslash$  Nombro de mortigitaj skaraboj}   \\
      \end{array}  $
\item   transformoj  \\
     se DOZO $>$ 0 tiam DOZO = log(DOZO) ; \\
     \hspace{5em}     alie DOZO = -1000000 ; finose ;
\item   problemo \\
      modelo = 1, DOZO ; dependaj = r , n ; \\
      INIT = 0.346, 2.76, 0.163 ;
        $\backslash$  Komencaj stimajhoj akiritaj
                                 kiel deskriptite sube
\nopagebreak
\item   fino 
\end{description}

\begin{tabular} {lll}
   FIKSA & r,n ; &  \\
   VAR  & z , &     \{ z = b0 + b1 * log(dozo) \}  \\
        & s ; &     \{ s = spontana kvoto \}  \\
   FUNKCIONOJ &   p0, p, f; &  \\
   PROBLEMO & &   \\
     &       p0  = 1 / (exp(-z)+1) ; &  \\
     &       p   = s + (1-s)*p0 ; &  \\
     &       nlv = -r*log(p) - (n-r)*log(1-p); &  \\
   FINO  \\
\end{tabular}

   Temas \^ci-tie pri eksperimento per insekticidoj, deskriptita de
{\sc Unkelbach kaj Wolf} (1985). La modelo-vektoro konsistas, krom el la
konstanto, nur el la logaritmo de la dozo de la veneno. La dependo-vektoro
\^ci-kaze konsistas el la nombro r de la mortigitaj kaj la nombro n de la
entute traktitaj skaraboj. El la model-vektoro kalkuli\^gas la
skalar\-produto z, kiu estas plu\-donata kiel la unua VAR-variablo. Krome
ekzistas plua, nelineara parametro, kiu indikas, kiom da skaraboj mortintus
e\^c sen la traktado per insek\-ti\-cido. La cel\-funkciono nlv estas  la
negativa logaritmo de la dunomiala distribua\^{\j}o, kies parametro p estas
la sumo de la spontana kvoto s kaj ono p0 de la {\bf ne}
spontane mortintaj. La parametro p0 siaparte dependas de z pere de la
logistika funkciono. Komencaj stima\^{\j}oj por \underline{b} estas akireblaj
per tio, ke oni unue laboras per komando-dosiero, en kiu mankas la parametro s;
komenca stima\^{\j}o por s estas la empiria kvoto de mortaj skaraboj je
dozo 0. Post kelkaj iteracioj ni akiras la stima\^{\j}ojn de la parametroj
$b_0, b_1$ kaj $s$, kiel estas montrite jene:

   REZULTO : (rc=0,it=7)  \\
\ \\
   FUNKCIONA VALORO: \\
   220.499552 \\
\ \\
   PARAMETROJ: \\
    0.471042  5.087078  0.181942  \\
\ \\
   GRADIENTO: \\
    0.000000  0.000000  0.000000  \\
\ \\
    INVERSO DE HESSE-MATRICO: \\
                 $ \begin{array}{rrr}
     0.205369  & -0.399767 &  -0.014423  \\
     -0.399767 &  1.037412 &  0.030751  \\
     -0.014423 &  0.030751 &  0.001719  \\
                 \end{array} $

 Helpe de la inverso de la Hesse-matrico \^ce la cel\-punkto oni povas
testi hipotezojn pri la parametro-vektoro.

   Mi pretas sendi la fonto-programojn a\u{u}/kaj ties
MS/DOS-kompila\^{\j}ojn al interesitoj. Mi tre \^gojus, se la programaro
estus utila al plejeble multaj gekolegoj el la inter\-nacia kaj precipe
inter\-naci\-lingva sciencistaro.

\parindent0em
{\bf Glosaro}

\nopagebreak
\begin{description}

\item[adedo] : stokasta variablo a\u{u} nombro kalkulita el samplo a\u{u}
populacio, ekz. avera\^go, varianco, F-test-adedo (el la arabezo$^*$,
propono fare de mi)

\item[deskripti] : prezenti iun fakton tiamaniere, ke la adresito \^gin
komprenu (Propono de Wells). La\u{u} PIV tio estus ``priskribi'', sed tiu
vorto estas erariga.

\item[derivei] : kalkuli d f(x)/d x (PIV Supl. 1987). Kontra\u{u}e al PIV
Supl., mi prenis kiel eliran vorton la verbon, por esti konforma al la
sistemo de Kiselman (1988)

\item[detektiva] : kapabla kun granda probablo malakceptigi mal\-verajn
test\-hipo\-tezojn (propono fare de mi)

\item[-ez-] : ne-oficiala sufikso por indiki lingvon

\item[funkciono] : 3-a signifo de ``funkcio'' en PIV (bildigo en aron da
nombroj) (propono fare de mi)

\item[krita nombro] : nombro, je kies transpa\^so \^san\^gi\^gas grava eco
(PIV Supl. 1987)

\item[(mal)pliedi] : a (mal)pliedas ol b signifas, ke a $\le$  b
(resp. a $\ge$ b) (propono de C.O.Kiselman)

\item[malakceptiga adedo] : Probablo por tio, ke oni akiras
test-adedon$^*$, kiu sam\-grade a\u{u} e\^c pli  kontra\u{u}as $H_0$'on,
samtempe favorante $H_1$'on, kiel (ol) la akirita test-adedo
(kon\-di\^ce ke $H_0$ veras). Tiu adedo en la etno\-lingva literaturo
kutime, sed mal\-precize nomatas ``p-valoro''
(germane: ``\"Uberschreitungswahrscheinlichkeit'') (propono fare de mi).

\item[modjulo] : Sendependa parto de programara sistemo, kiu plenumas
difinitan taskon (PIV\ Supl. 1987)
\end{description}

\ 

{\bf Literaturo}

\nopagebreak
\begin{description}
\item[Bareuther,A.], 1990 : AUTDIFF - ein C-Modul zum Automatischen
Differenzieren f\"ur nicht\-lineare Op\-ti\-mierungs\-probleme.
Fortgeschrittenenpraktikum f\"ur Informatiker; TU M\"unchen.

\item[F\"o\ss meier,R.], 1990 : Enkonduko al la problemoj de
programa\^{\j}-produktado.
 Acta Sanmarinensia 1,L1.

\item[Kick,U.], 1989 : XDM - eine Daten\-mani\-pulations\-sprache zur
Vor\-bereitung statistischer Analysen. Fortgeschrittenenpraktikum f\"ur
Informatiker;
 TU M\"unchen.

\item[Kiselman,C.O.], 1988 : Nomoj de matematikaj operacioj en Esperanto.
 Upsala universitato, matematika instituto

\item[Quednau,H.D.], 1990 : Baza statistika metodaro. Acta Sanmarinensia 1,L3.

\item[Quednau,H.D.], 1990 : Software-Werkzeuge zur Entwicklung und
Aus\-wertung un\-kon\-ven\-tioneller Modelle f\"ur
Dosis-Wir\-kungs\-beziehungen. Proc. Conf. on Forest Statistics, Freiburg
Sep. 13-15, 1989.

\item[Schreiner,A.T. kaj Friedman,G.], 1985 : Compiler bauen mit UNIX. \"
f\"ur yacc
 Hanser-Verlag, Wien.

\item[Staudinger,M.E.J.], 1990 : OPTIM - ein C-Modul zur flexiblen Optimierung
nichtlinearer Funktionen. Fortgeschrittenenpraktikum f\"ur Informatiker;
 TU M\"unchen.

\item[Unkelbach,H.D. kaj Wolf,T.], 1985 : Qualitative Dosis-Wirkungs-Analysen.
Gustav Fischer-Verlag, Stuttgart.
\end{description}

{\bf Adreso de la a\u{u}toro :} \\
 OProf. H.D. Quednau dr., \\
 Forstwiss. Fakult\"at der LMU, \\
 Hohenbachernstr.22,  D-85354 Freising \\
 email : u62b301@sun1.lrz-muenchen.de \\

\vspace{5ex}
{\bf Postrimarko}
Post la presado de tiu-\^ci publika\^{\j}o estas verkitaj pluaj modjuloj,
kiuj ekzemple faciligas la analizon, se la cel\-variablo mezuratas en
\^stupoj, kaj ebligas la analizon de mal\-longaj tempo-serioj
(sinsekvaj mezura\^{\j}oj \^ce la sama objekto).

Manlibretoj por la uzado de la opaj modjuloj (en la lingvoj
internacia (Esperanto) kaj germana) estas parte jam fin\-preparitaj
(kvankam ankora\u{u} ne en latex-formato),
% /users/Softo/ilo/info auf CIP0
parte en preparado.
\end{document}

