ARTIFICIAL NEURAL NETWORK FOR PREDICTING RESPIRATORY DISTURBANCES AND METHOD FOR DEVELOPING THE SAME

Abstract: A method for predicting respiratory disturbances, and a method for developing such an artificial neural network. The inputs to the method and to the artificial neural network of the present invention are the answers given by a person to a series of questions. The output of the artificial neural network is a predicted respiratory disturbance index.

Description: ARTIFICIAL NEURAL NETWORK FOR PREDICTING RESPIRATORY DISTURBANCES AND METHOD FOR DEVELOPING THE SAME 1. Field of the Invention The present invention relates to an artificial neural network ("ANN") for predicting respiratory disturbances, and a to method for developing such an ("ANN") . 2. Background Art Regression models have been used to produce prediction rules for predicting whether an individual has a particular attribute, such as a sleeping disorder. Such regression models often use physical features and clinical traits indicative of a high probability of the attribute. However, the predictive rules produced by such regression models often lack specificity, and offer only a dichotomous output based on a predetermined cutoff value, particularly with respect to the apnea/hypopnea index ("AHI") , which is an index related to obstructive sleep apnea ("OSA") . Furthermore, to compound the deficiencies of such prediction rules, the predetermined cutoff value associated with a particular model is often selected arbitrarily, and furthermore, varies from model to model. Moreover, the statistical methods used to derive these models may not fully take into account nonlinear attributes of complex processes. OSA has been recognized increasingly as an important public health problem with potentially serious cardiovascular and psychomotor morbidity, and possibly excessive mortality. An increased awareness of the risks associated with OSA in recent years has led to an increase in the number of referrals to specialists and sleep laboratories. Overnight polysomnography ("OPG") is the standard reference test for diagnosing OSA. However, OPG is an expensive, labor-intensive, and time consuming procedure. As a result, there is a need for a practical and less work-intensive screening test to allow physicians to estimate whether patients have OSA. SUMMARY OF THE INVENTION The present invention provides an ANN for predicting respiratory disturbances, and a method for developing an ANN. An object of the present invention is to provide a method of developing an ANN which results in a prediction having more specificity and having fewer dichotomous outputs than prior art prediction rules developed through regression analysis models. Furthermore, it is an object of the present invention to take into account nonlinear relationships and intricate interrelationships among attributes of complex processes, such as a biological system. Another object of the present invention is to provide a screening test for predicting OSA which is less expensive to use, less labor-intensive to use, and less time consuming to use than OPG. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 shows the steps of the ANN according to the present invention; Figure 2 shows the steps of the method for developing an ANN according to the present invention; Figure 3 shows demographics of a validation data set described herein; Figure 4 is a comparison between patients who participated in a sleep study described herein; Figure 5 is a list of questions and statements used to develop the ANN of the present invention; Figure 6 is a graph showing receiver operator characteristic curves used to develop and analyze the ANN of the present invention; Figure 7 is another graph showing receiver operator characteristic curves used to develop and analyze the ANN of the present invention; and Figure 8 shows the relation between the predicted and actual AHI for patients in the validation data set together with the point wise 95% confidence limits. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT The present invention includes a method, referred to herein generally as an ANN, that can predict the AHI of patients suspected of OSA. The ANN of the present invention uses a combination of anthropomorphic data and clinical information obtained from a patient to predict the AHI of that patient. The AHI is indicative of the likelihood that an individual has OSA. Fig. 1 shows the method steps of the present invention. The present invention is also directed at a storage device, such as a floppy disk, having stored thereon computer readable code for causing a computer to execute all or a substantial portion of the ANN. Furthermore, the present invention includes a method for developing an ANN, such as the ANN described herein. Fig. 2 shows the method steps of this aspect of the present invention. An ANN is a numerical processor that accepts multiple pieces of information, usually in digital form, performs calculations using the pieces of information, and produces results which state whether an attribute is likely to be present. In an embodiment of the present invention, described below in more detail, the pieces of information gathered as part of the method are answers given by a patient in response to certain questions and statements, and the result produced by the ANN is a predicted AHI. In an embodiment of the present invention, the method begins (step 10) by gathering information in the form of answers and responses to questions and statements. In the present invention, the information includes answers given by the patient to the following questions: (a) How old are you (in years)?, (b) How tall are you (in meters)?, (c) How much do you weigh (in kilograms)?, (d) What is your neck circumference (in centimeters)?, (e) Have you been told or been treated for high blood pressure? (if yes, enter "1", and if no, enter "0")- The information gathered (step 10) from the patient also includes the responses given by the patient to a set of statements. For ease in gathering the information, the patient is permitted to give one of five possible responses for each statement in the set of statements. Furthermore, each possible response is associated with a number (step 12) . The number is determined and used in subsequent steps of the method according to the present invention in lieu of the response itself. In an embodiment of the present invention, the possible responses to each statement in the set of statements, and the number associated with each possible response are as follows: a response of "0.5" means not sure, do not know or is not applicable, a response of "0" means strongly disagree or never, a response of "0.25" means disagree or rarely has occurred, but less than once per week, a response of "0.5" means somewhat agree or sometimes i.e. 1 to 2 times per week, a response of "0.75" means agree or frequently i.e. 3 to 4 times per week, and finally, a response of "1.0" means strongly agree or always or almost always i.e. 5 to 7 time per week. The set of statements includes the following: (a) I am very sleepy during the daytime and struggle to stay awake, (b) At night, my sleep disturbs my bed partner's sleep, (c) I am told I snore in my sleep, (d) I am told I stop breathing in my sleep, (e) I suddenly wake up gasping for breath during the night, (f) I feel tired upon awakening and want to go back to sleep, (g) I have or have been told that I have restless legs, (h) My desire or interest in sex is less than it used to be. In Appendix A, incorporated herein by reference, there is shown the source code for a computer program called "sleep.prg" which will cause a computer to prompt the user of such a computer for responses to the questions and statements discussed above. A computer having sleep.prg running thereon expedites the step of gathering (step 10) the answers and responses from the patient. Sleep.prg is shown in Appendix A written in Clipper, but other computer languages can be used to gather the answers to the questions and responses to the statements discussed above. As shown in Appendix A, sleep. prg accepts measurements in the English or metric system, and may convert entries to a different measurement system. In addition, sleep. prg accepts responses to each statement in the set of statements in the form of a number 1 through 5, but then converts each response entered by the user into a number 0 through 1, as discussed above. Finally, sleep. prg puts the answers and responses in a string so that such information can be quickly accepted and processed by means for executing subsequent steps of the method, discussed below. Appendix B, incorporated herein by reference, is the source code for a computer program called "sleepnet . for" which executes subsequent steps of the ANN according to the present invention. Sleepnet. for is shown in Appendix B written in Fortran, but other computer languages can be used to cause a computer to execute the steps according to the ANN. As shown in Appendix B, sleepnet. for is written to accept the answers and responses discussed above in the format produced by sleep. prg. For ease of reference, X(l) through X(13) will be used herein to indicate the numerical values associated with the answers and responses (described above) given by a patient. X(l) relates to the patient's age, X(2) relates to the patient's height, X(3) relates to the patient's neck circumference, and X(4) relates to the patient's blood pressure, and X(5) relates to whether the patient is sleepy during the daytime. X(β) relates to whether the patient disturbs the bed partner, X(7) relates to whether the patient snores, X(8) relates to whether the patient stops breathing while sleeping, and X(9) relates to whether the patient suddenly wakes up gasping for breath. X(10) relates to whether the patient is tired upon awakening, X(ll) relates to whether the patient has restless legs, X(12) relates to the patient's desire to have sex, and X(13) relates to the patient's weight. In the next step 14 of the ANN according to the present invention, a BMI value is determined. The BMI value is determined by dividing X(13) by the square of X(2). In a subsequent step 16 of the ANN, twelve revised input values, herein referred to as RINP(l) through RINP(12), are determined as indicated in Appendix B from the numerical values X(l) through X(13). RINP(l) relates to age, RINP(2) relates to the BMI calculated, RINP(3) relates to neck circumference, RINP(4) relates to blood pressure, RINP(5) relates to being sleepy during the daytime. RINP(β) relates to disturbing the bed partner, RINP(7) relates to snoring, RINP(8) relates to stopping breathing while sleeping, and RINP(9) relates to suddenly waking up gasping for breath. RINP(IO) relates to being tired upon awakening, RINP(ll) relates to restless legs, and RINP(12) relates to desire to have sex. In the next step 18, a first set of predictive indicators, the components of which are referred to herein as "feat2", is determined. Feat2 includes twenty-one (21) predictive indicators shown in Appendix B as feat2(l) through feat2(21), and are determined as shown in Appendix B from the revised input values RINP(l) through RINP(12). In a next step 20, a second set of predictive indicators, the components of which are referred to herein as "feat3", is determined. Feat3 includes twenty-one (21) predictive indicators shown in Appendix B as feat3(l) through feat3(21), and are determined as shown in Appendix B from the revised input values RINP(l) through RINP(12). In the next step 22 of the ANN according to the present invention, RINP(l) through RINP(12) are combined with the first and second sets of predictive indicators as shown in Appendix B to produce a first predictive number, labeled "output" in Appendix B. As shown in Appendix B, the first predictive number ("output") is a number between 10 and -10. The calculations shown in Appendix B may be adjusted to provide for AHI thresholds different from 10 per hour, and the present invention is not limited to the first predictive number ("output") being between 10 and -10. In the next step 24 of the method, a second predictive number, labeled "al" in Appendix B, is determined as shown in Appendix B. The second predictive number, al, once manipulated according to Appendix B, is the predicted AHI and in the final step 26, is provided to a health professional, such as a physician. The present invention also includes a method for developing an ANN, such as the ANN described above. The method for developing an ANN is described by way of the example which follows and in Fig. 2. Furthermore, the ANN described above is further described and explained by the example which follows. In a first step 50 of the method for developing an ANN, relevant information which is needed to make the desired prediction is determined. In a next step 52 of the method for developing an ANN, clinical studies are performed to determine which patients have a particular attribute. As an example of this step 52, patients were referred to the Sleep Center at Buffalo General Hospital between November 1995 and August 1996 and were identified retrospectively from the sleep registration records and represented the derivation cohort. The majority of patients were referred by internists (54%), internal medicine subspecialists (36%), or ear, nose and throat surgeons (7%) . In this example, sleep studies (OPG) were performed on two hundred ninety three patients during this period. Patients were excluded if they had been previously treated for sleep apnea, referred for a specific sleep disorder other than sleep apnea, or they failed to complete the sleep study. In the next step 54 of the method, patients give answers to questions and respond to statements and these answers and statements are gathered for further analysis. In the present example a questionnaire related to sleep symptoms and motor functions was filled out by all patients prior to undergoing OPG. Demographic information (age, gender) and anthropomorphic measurements (neck circumference, height, and weight) were obtained on each patient. The questionnaire administered to each patient sought answers and responses about a range of clinical variables thought to contribute or raise suspicion of sleep apnea. Nineteen (19) questions were subjected to detailed analysis. The questions had a six-item Likert response with the following options: never (or strongly disagree) , rarely (or disagree) , sometimes (or somewhat agree), frequently (somewhat agree), always (strongly agree) , and not sure (or not applicable) . In addition, the presence of hypertension and the amount of alcohol ingestion were determined by patient's self report. OPG was conducted on all patients enrolled in the study at the Sleep Center. Continuous electroencephalogram, electroculogram, electrocardiogram, and submental electromyogram were recorded. Airflow was assessed with an oral and nasal thermistor (Graphic Control; Buffalo, NY) , and arterial oxyhemoglobin saturation was measured with a pulse oximeter with the probe placed on the patient's finger (Biox IIA or 3700, Ohmeda; Louisville, CO) . Abdominal wall and rib cage motions were recorded with an inductive plethysmograph (Respitrace Corporation; Ardsley, NY) . AH data were recorded on a 16-channel polygraph and digitized on a computerized system (Aekitron Medical; Minneapolis, MN) . Sleep stages were scored in 30-sec epochs using the Rechtschaffen and Kales sleep scoring criteria. Each epoch was analyzed for the number of apneas, hypopneas, arousals, oxyhemoglobin desaturation, and disturbances in cardiac rate and rhythm. Apnea was defined as a reduction in airflow of >80% at the nose and the mouth for at least 10 sec. Hypopnea was defined as a 50% reduction in oronasal airflow associated with either a 4% or greater decrease in oxygen saturation, or an arousal. Arousal was defined according to the recent ASDA position paper (ASDA Report, EEG arousals: scoring rules and examples, Sleep 1992; 15:173-5). The record was scored manually by a polysomnography technician and reviewed by a physician certified in sleep medicine. The number of apneas and hypopneas per hour of total sleep time was derived, and reported as the apnea-hypopnea index (AHI) . A positive sleep study for sleep apnea was defined as a AHI>10/hour, other thresholds were also considered (>15 or >20/hour) to determine the effect of altering the definition on the diagnostic accuracy of the predictive models. In the next step 56 of the method, the answers and responses are statistically analyzed to determine relationships between the answers and responses and the results of the clinical studies for the patients. In the present example, descriptive statistics for continuous variables were expressed as mean ±1 SD (standard deviation) . Difference in mean values was assessed using Student's t test. All tests were two tailed and statistical significance was set at a p value of less than 0.05. Commercially available software were used for the multiple linear regression and regression tree (S-Plus, Statsci, Seattle, WA) , artificial neural networks (Neuroshell 2, Ward Systems, Frederick, MD) , and for confidence interval analyses (CIA, British Medical Journal, London, UK) . A logarithmic transformation of AHI was used for both the ANN and the multiple linear regression in order to achieve a normal distribution of residuals. The variables used as inputs for the ANN were selected from the list of items obtained from the patient' s questionnaire and from anthropomorphic measurements. The classification and regression tree was used to choose those variables more likely to influence the predictive properties of the ANN. Because logistic regression models sometimes perform better than a decision tree, a logistic regression was also performed to identify predictor variables. The independent variables were scaled to a value over a range between -1 and 1. The responses to the Likert scale values were spaced equally at intervals of 0.5 over this range. Missing values and responses marked as "not applicable" were substituted with the class mean. In the next step 58 of the method, the relationships determined in the prior step are expressed mathematically. The ANN described in this study was based on three layers: an input layer with 12 nodes, an output layer with a linear function and a hidden layer. The hidden layer consisted of a direct connection between the input and the output layers, and two groups of 21 nodes with differing activation functions. The activation function describes the nature of the linkage between the input layer and the hidden layer. A Gaussian function was used for one group and a hyperboric function (tanh) for the other. Connections and outputs from the two groups in the hidden layer were linked to the output layer by linear functions. Each link was assigned a coefficient or weights that was updated during the learning process. The weights are assigned initially at random between -0.6 and +0.6. In the next step 60, the mathematically expressed relationships are exposed to a training set during which the mathematical relationships are presented with a set of input and output patterns. During this training phase, the inputs are fed into the mathematical relationships and the corresponding outcome is computed. The difference between the actual and desired outcome is propagated backward. Adjustments to connection weights in the mathematical relationships are made to minimize the error between the output predicted by the mathematical relationships and the measured attribute, in this example, the AHI. During training, the mathematical relationships are tested at regular intervals to determine the prediction error on a subset of data (evaluation data set) that is not included in the training process. As training proceeds, the prediction error on the evaluation data set decreases initially but then increases when overtraining occurs. The mathematical relationships that produce the smallest error are selected (step 62) for further analysis. In the present example, a tenfold cross validation approach was used for evaluation. The entire data set of 189 patients was divided with a random number generator into ten subsets. Nine out of the ten subsets was pooled and used for training. The data from the tenth subset was used as an evaluation set during training. The entire process was repeated nine additional times by rotating the subset that was used as the evaluation set during training. The mean square error was computed for each of ten sets of mathematical relationships on the entire derivation data set. The mean square errors were averaged and the set of mathematical relationships that had a mean square error closest to the average was selected. A multiple linear regression was employed to develop a model of AHI score based on the same independent variables used in the chosen set of mathematical relationships. Interaction terms were not included to determine the extent to which non-linearities and interaction terms contributed to the predictive accuracy of the chosen set of mathematical relationships . In the next step 64 of the method, the predictive model embodied by the chosen set of mathematical relationships is tested on an entirely different set of patients (validation cohort) that were not included in the derivation set. The validation cohort used to develop the above described ANN comprised all patients who underwent a sleep study between September 1996 and December 1996. Patients were excluded from the study if they had been previously treated for sleep apnea, referred for a specific sleep disorder other than sleep apnea, or they failed to complete the sleep study. Then, a receiver operator characteristic (ROC) curve was generated for the chosen set of mathematical relationships. The ROC curve represents a graphic display of the true positives (sensitivity) plotted against the false positives (1-specificity) for various thresholds that are used to define sleep apnea. The c-index was used to estimate diagnostic accuracy. The c-index is equivalent to the area under the ROC curve. In brief, it is calculated by determining the probability of diagnosing sleep apnea correctly in every possible pair of patients: one who has sleep apnea, the other who does not. A bootstrap method was used to calculate directly this measure of accuracy by generating 1000 data sets from a database by random sampling with replacement. Comparisons between the c-index for both models were assessed based on the confidence intervals. Statistical significance was accepted at the 5% level. To determine the predictive performance of the ANN, the relation between the actual and predictive values of the AHI were compared by linear regression. The point wise 95% confidence limits of that linear regression were used to establish the confidence interval of the predicted AHI. Comparison between the predictive accuracy of the ANN and multiple linear regression was made with correlation coefficients. The actual values of AHI were correlated with the predicted values. The correlation coefficient for the ANN was compared with the correlation coefficient obtained by multiple linear regression. The results of the above described method and the predictive ability of the ANN are described below, and the description which follows further illustrates the methods described above. Between November 1995 and December 1996, 289 sleep studies were performed at the Sleep Center. Twenty were excluded from further analysis: 12 patents were already diagnosed with sleep apnea, 6 patients were referred for a evaluation of sleep disorder other than sleep apnea, and 2 patients did not complete the sleep study. The derivation cohort was comprised of 189 patients, 66% males and 34% females. There were no significant differences in age, gender ratio, body mass index or neck circumference of patients of the derivation data set compared with the validation data set as, shown in Fig.3. Even accounting for the greater number of men than women in the cohort, there was a predominance of sleep apnea among males (Chi-square Yates corrected p = 0.022). The age ranged from 14 to 95 years with a mean of 48.1 ±12.1 for those with sleep apnea, and 47.0 ±14.8 for those without sleep apnea (p=0.2), shown in Fig. 3. Fifty eight (31%) were found to be non-apneic (AHI 0-10), 23 (12%) to have mild obstructive sleep apnea (AHI 11-20), 28 (15%) to have moderate sleep apnea (AHI 21-40), and 80 (42%) to have severe sleep apnea (AHI>40) . Patients with sleep apnea were significantly more obese (p<0.01) and had a larger neck circumference (p<0.01) than their non-apneic counterparts (see Fig. 4). The validation cohort consisted of 80 patients; 54 males (68%) and 26 (32%) females. Eighty one percent of respondents had no missing data. The number of respondents missing one, two, three, or four apnea symptoms items were 32 (13%), 12 (6%), 2 (0.7%), and 1 (0.3%) respectively. Nine of 19 independent variables were selected in the final construction of the classification and regression tree. Six of the 19 independent variables of the logistic regression had coefficients that were statistically significant. Three of the six were not present in the classification and regression tree. Therefore, 12 variables were used as inputs to the ANN: nine from the classification and regression tree, and three additional variables from the logistic regression analysis. The questions to which responses were deemed to have significant predictive power for sleep apnea by the classification and regression tree and by logistic regression analysis are listed in Fig 5. Body mass index, neck circumference, and episodes of apneic events during sleep were the only parameters common to both analyses. The average of the mean square error of the ten ANNs performed was 0.089 (range 0.174-0.023). The ANN selected and described above had a mean square error of 0.092. The correlation coefficient from the ANN's predicted values of AHI and the actual values in the derivation set was 0.856. The corresponding correlation coefficient for the multiple linear regression with the same predictor variables was 0.509. This value was significantly less than the correlation coefficient obtained with the ANN (p<0.01) . The performance of the ANN using a dichotomous definition of OSA is shown in Fig. 6 for the derivation data set as ROC curves. The c-index which is equivalent to the area under the ROC curve, was 0.946 ±0.0151 SE, 0.948 ±0.0149 SE, and 0.944 ±0.0159 SE when OSA is defined as an AHI of >10, >15 and >20/hour respectively. There were no statistically significant differences between these c-indices. Similarly, the performance of the ANN using a dichotomous definition of OSA is shown in Fig. 7 for the validation data set as ROC curves. The c-index was 0.96 ±0.0191 SE, 0.951 ±0.0203 SE, and 0.935 ±0.0274 SE when OSA is defined as an AHI of >10, >15 and >20/hour respectively. There were no statistically significant differences between these c-indices or with the corresponding c-indices obtained with the derivation data set. Fig. 8 shows the relation between the predicted and actual values of AHI for the patients in the validation data set together with the point wise 95% confidence limits. Only one of the 80 values (1.25% 95%CI : 0-6.7%) fell outside of the 95% confidence limits. As will be recognized by one skilled in the art, the present invention is a method, in the form of an ANN, which takes into account nonlinear relationships and intricate interrelationships among attributes of a complex process. The present inventions also presents a method for developing an ANN which results in a prediction having more specificity and fewer dichotomous outputs than prior art prediction rules developed through regression analysis modes. It is therefore apparent that the present invention accomplishes the intended objects described above. Although embodiments of the present invention have been described in detail herein, the present invention is not limited to such embodiments and is limited by the appended claims. -13- Appendix A Source code for sieep.prg clear * Note - the following are nasies of inputs and outputs: * Note - x(l) is ASE1 * Note - x(2) i_s HT in * Note - x(3) is HC1 αnc * Note - x{4) is BIN * Note - x(5) is EOS * Note - x{6) is DBP * Note - x(7) is SNORE * Note - x(8) is STOPB * Note - x(9) is W-B * Note - x(10) is TϋA * Note - x(ll) is RLS * Note - x(12) is LIBIDO * Note - outp(l) is LOGRDI * Note - x(13) is WT lbs - declare x[13] or rα - 1 to 13 x.m] - 0.0 next hti - 0 htc - 0 wtp - 0 wtlc - 0 nci - 0 ncc «■ 0 done - 1 do while donefO 8 1,1 say ' NEURAL NETWORK FOR PREDICTION OF RESPIRATORY DISTURBANCE INDEX (RDIJ ' β 2,1 say ' Copyright B.J.B- Grant and A.A. El-Solh. Patents applied for. ' β 4,1 say ' AGE:' get x[ll picture "99.9" β 4,20 say • HEIGHT: ' get hti picture "999.9" 8 4,35 say • inches or ' get htc picture ,'999.9" β 4,52 say T.cms* 8 5,1 say • .WEIGHT:^, get wtp picture • .999.9" β 5,15 say ? lbs or • β 5,23 get wtx picture "999.9" β 5,29 say 'kg • β 5,32 say r NECK CIRCUMFERENCE • get nci picture "999.99" 8 5,60 say 'inches or* get ncc picture "999.9" 8 5,76 say 'en • ans4 - 'N' 8 7,1 say * Have you been told or been treated for high blood pressure (Y/N) ?' get ans4 picture "Y" read if nci - 0.0 x[3J - ncc else x[3] - nci*2.54 endif if wtp - 0.0 x[13] - wtk*2.2 else x.13] ■ ■ wtp endif if htc - 0.0 x.2] - hti else x[2] - htc/2. 54 endif done ■ 0 if x[2] 1- 0.0 .or x[3]- 0.0 .or. x[ll- 0.0 done » 1 ?" Error: ddaattaa imust be entered for age, height and weight. wait clear endif enddo x[4] - 1.0 else x[4] - 0.0 endif 8 9,1 say ' T Thhee following questions should be answered according to the following scale. ' 8 10,1 say " 0. Not Sure, Don't Know or Not Applicable" 8 11,1 say ' 1. Strongly Disagree: Never • 8 12,1 say ' 2. Disagree (Rarely has occurred but less than once/week) • 8 13,1 say ' 3. Somewhat Agree (Sometimes 1-2 times/week) * 8 14,1 say ' 4. Agree Frequently (3-4 times per week) * 8 15,1 say ' 5. Strongly Agree (Always or Almost Always 5-7 times/week) * for m - 5 to 13 x[m] - 0 next m 8 16, 1 say ■ I am very sleepy during the daytime and struggle to stay awake." get x[5] picture "9" range 0,5 8 17,1 say " At night, my sleep disturbs your bed partner's sleep" get x[6] picture "9" range 0,5 8 18,1 say ' I am told I snore in my sleep. • get x[7] picture "9" - range 0,5 8 19,1 say ' I am told I stop breathing in my sleep. * get x[8] pictβre "9" range 0,5 8 20,1 say ' I suddenly wake up gasping for breath during the. night. ' get x[9] picture "9" range 0,5 821,1 say * I feel tired upon awakening and want to go back to sleep. ' get x[10] picture "9" range 0,5 822,1 say * I have or have been told that I have restless legs? ' get x.lll picture "9" range 0,5 8 23,1 say ' My desire or interest in sex is less than it used to be?* get x[12] picture "9" range 0,5 read set echo off ♦ set device to file newx set device to print set printer to newx set printer on * converts to zero to one scale for m - 5 to 12 if x.m] - 0 x[m] - 0.5 else x[m] - (x[m_ - 1.0)*0.25 endif next m set console off ?str(x[l]) + , ,'+str(x[21) + , , , +str(x[31) + , , » +str ( x[4J ) + ', , +str ( x[5] } + ♦ , • + str(x[6]) + , , , +str(xC7.)+ , , , +str(x[8]) + , , , +str(x[9]) + , , , +str ( xtl01 ) + ', » + str(x[ll]} + , , , +str(x[12]) + , , , +str(x[13]) set console on set printer off set device to screen 1 sleepnet cancel Appendix B Source code for sleepnet-for Program Sleepnet real netsuxα dimension feat2 (21) , feat3 (21) ,outp(3) ,rinp (12 ) , xC13 ) DIMENSION XN (12) ,XM(12) . XMErørø ,XSD{12) OPEN ( 6, S LE-'NEWX.PRN' , STATUS-OLD') R£AD(6,*) (X£I), 1-1,13) C CONVERT FROM INS TO M X(2) - X(2)*2.54/100.0 C CONVERT FROM LBS TO KG X(13) - X(13)/2.2 C CALCULATE BMlF IN KG/M"2 X(2) - X(13)/(X(2))**2 OPEN ( 5,F__LE-'-_EANSD.nAT , ,STATUS-'OLD » ) DO 20 I - 1.12 . R£AD ( 5,* ) XN.I),-_M(I),XMEAN{I),XSD(I) 20 CONTINUE DO 30 I - 1,12 C CUT OFF OVER LIMITS if (X.I).GT.XM(I))X(I)-XM(I) if (X(I).LT.XN(I))X{I)-XN(I) C SCALE 0 TO 1 " B - 1.0/(XM(I) - XN(I )) C - -B*XN(I) X(I) - X(I)*B + C 30 CONTINUE c Note - the following are names of inputs and outputs: c Note - inp(l) is AGE1 c Note - inp(2) is BMI1 c Note - inp(3) is NCI c Note - inp(4) is HTN c Note - inp(5) is EDS c Note - inρ(6) is DBP c Note - inp(7) is SNORE c Note - inp(8) is STOPB • c Note - inp(9) is WGB c Note - inp(lθ) is TUA 8 c Note - inp(ll) is RLS c Note - inp(12) is LIBIDO do 90 i-1,12 rinp(i) - x(i) 90 continue if (rinpd .lt.O) rinpd 0 if (rinpd .gt.l) rinpd 1 rinpd) - 2 * rinpd) -1 if (rinp(2 .lt.O) rinρ(2 0 if (rinp(2 .gt.l) rinρ(2 1 rinp(2) - 2 * rinp(2) -1 if (rinp(3 •lt.O) rinp(3 0 if (rinp(3 .gt.l) rinp(3 1 rinp(3) - 2 * rinp(3) -1 if (rinp(4 .lt.O) rinp(4 0 if (rinp(4 •gt.l) rinp(4 1 rinp(4) - 2 * rinp{4) -1 if (rinp(5 •lt.O) rinp(5 - 0 if (rinp(5 .gt.l) rinp(5 - 1 rinp(5 * ) - 2 * rinp(5) -1 if (rinp(6 .lt.O) rinp(6 - 0 if (rinp(6 .gt.l) rinp<6 - 1 rinp(6) - 2 * rinp(6) -1 if (rinp(7 •lt.O) rinp(7 0 if (rinp(7 .gt.l) rinp(7 1 rinp(7 " ) - 2 * rinp(7) -1 if (rinp(8 .lt.O) rinp(8 0 if (rinp{8 .gt.l) rinp(8 1 rinp{8) - 2 * rinp(8) -1 if (rino(9 .lt.O) rinp(9 0 if (rinp(9 .gt.l) . rinp(9 1 rinp(9) - 2 * rinp(9) -1 if (rinp(lO).lt.O) rinp(lθ) - 0 if (rinp(lθ).gt.l) rinp(lθ) - 1 rinp(lθ) - 2 * rinp(lθ) -1 if (rinp(ll).lt.O) rinp(ll) - 0 if (rinpdl) .gt.l) rinpdl) - 1 rinp(ll) - 2 * rinp(ll) -1 if (rinp(12).lt.O) rinp(12) - 0 if (rinp{12) .gt.l) rinp(12) - 1 rinp{12) - 2 * rinp(12) -1 netsum - -1.281773 netsum - netsum + rinpd) (-0.7484438) netsum - netsum + rin d) * 0.1946502 netsum - netsum + rinp(3) * (-0.5387345) netsum - netsum + rinp(4) * (-0.2521914) netsum - netsum + rinp(5) * (-1.296348) πecsu∑a - netsum + rinp(6) * 0.4516059 netsum - netsum + rinp(7) * (-0.5284248) netsum - netsum + rinp(8) * (-0.9564578) netsum - netsum + rinp(9) * (-0.6124287) netsum - netsum + rinpdO) * 0.3784178 netsum - netsum + rin dl) * 0.2143384 netsum - netsum + rinp(12) * 0.4457278 feat2(l) - exp (-netsum * netsum) netsum - -.1579302 netsum -netsum + rinpd) * (-0.6913328) netsum -netsum + rinpd) * 0.3625014 netsum -netsum + rinp(3) * (-0.9706698) netsum -netsum + rinp (4) * (-0.1501043) netsun -netsum + rinp (5) * 0.4243536 netsum -netsum + rinp (6) * 3.680062E-O2 netsum -netsum + rin (7) * 1.378896E-02 netsum -netsum + rinp (8) * 0.3586607 netsum -netsum + rinp (9) * (-8.128129E-02) netsum -netsum + rinpdO) * 0.4440929 netsum -netsum + rin dl) * (-0.2487337) netsum -netsum + rinp (12) * (-0.6973214) feat2(2) - ex (-netsum * netsum) netsum - 17.0492 netsum -netsum + rinpd) * 16.82284 netsum -netsum + rinp (2) * 0.8428642 netsum -netsum + rinp (3) * 2.572662 netsum -netsum + rinp (4) * 0.7950218 netsum -netsum + rinp (5) * (-2.513585) netsum -netsum + rinp (6) * 0.9777063 netsum -netsum + rinp (7) * (-2.577032) netsum -netsum + rinp (8) * (-0.1786035) netsum -netsum + rinp (9) * (-0.2378135) netsum -netsum + rinp (10) * ' 0.3698948 netsum -netsum + rinpdl) * ' (-0.1214744) netsum -netsum + rinp (12) * ' 0.7108723 feat2(3) - exp (-netsum * netsum) netsum —9.469316 netsum -netsum + rinpd) * (-10.42911) netsum -netsum + rinp (2) * (-0.1438574) netsum -netsum + rinp (3) * (-0.5054889) netsum -netsum + rinp (4) * (-0.2067168) netsum -netsum + rinp (5) * 0.6667147 netsum -netsum + rinp (6) * (-0.4913783) netsum -netsum + rinp (7) * (-0.1237129) netsum -netsum + rinp (8) * 0.8214485 netsum -netsum + rinp (9) * 0.2972933 netsum -netsum + rinp (10) * 0.5863733 netsum -netsum + rinpdl) * 1.099139 netsum -netsum + rinp (12) * 0.8866732 feat2(4) - exp (-netsum * netsum) netsum —7.332463 netsum -netsum + rinpd) * (-7.581017) netsum -netsum + rinp (25 * (-1.661227) netsum -netsum + rinp (3) * 0.6603476 netsum -netsum + rinp (4) * (-2.950335) netsum -netsum + rinp (5) * 1.931185 netsum -netsum + rinp (6) * 1.572326 netsum -netsum + rinp (7) * 1.951563 netsum -netsum + rinp (8) * 2.154931 netsum -netsum + rinp (9) * 0.4884028 netsum -netsum + rinp (10) * 1.935233 netsum -netsum + rinp (11) * 1.277721 netsum -netsum + rinp (12) * 3.075218 feat2(5) - exp (-netsum * netsum) netsum - .481048 netsum -netsum + rinpd) * .5431959 netsum -netsum + rinp (2) * (-0.830407) netsum -netsum + rinp (3) * 2.972075 netsum -netsum + rinp (4) * .8866829 netsum -netsum + rin (5) * .9294431 netsum -netsum + rinp (6) * 9-.9728751 netsum -netsum + rinp (7) * .4534347 netsum -netsum + rinp (8) * 5.592725E-02 netsum -netsum + rinp (9) * (-2.779128E-02) netsum -netsum + rinp (10) * 2.803787 netsum -netsum + rinpdl) * .8311194 netsum -netsum + rinp (12) * (-0.4631482) fear2(6) - exp (-netsum * netsum) netsum - 1.753536 netsum -netsum + rinpd) * 2.018607 netsum -netsum + rin (2) * 4.511654 netsum -netsum + ■ rinp (3) * (-6.671103) netsum -netsum + rinp (4) * (-0.3334266) netsum -netsum + rinp (5) * .4577192 netsum -netsum + rinp(6) * (-2.088647) netsum -netsum + rinp (7) * (-5.33801) netsum -netsum + ■ rinp (8) * (-1.461806) netsum -netsum + rinp (9) * 2.104948 netsum -netsum + rinp (10) * (-0.7131135) netsum -netsum + rinpdl) * .6349583 netsum -netsum + rinp (12) * (-0.9221169) feat2(7) - exp (-netsum * netsum) netsum - 22.32288 netsum -netsum + rinpd) * 21.96984 netsum -netsum + rinp (2) * 1.645584 netsum -netsum + rinp (3) * (-0.5201622) netsum -netsum + rinp (4) * 14.70671 netsum -netsum + rinp (5) * .5982078 netsum -netsum + rinp (6) * (-0.6221699) netsum -netsum + rinp (7) * (-0.271651) netsum -netsum + rinp (8) * (-3.716928E-02) netsum -netsum + rinp (9) * (-0.2856258) netsum -netsum + rinp (10) ' * .4259164 netsum -netsum + rinp (11) * 1.521184 netsum -netsum + rinp (12) * 1.781551 feat2 {8) - exp (-netsum * netsum) netsum - 18.37576 netsum -netsum + rinp(l) _> 18.11695 netsum -netsum + rinp (2) * 2.03335 netsum -netsum + rinp (3) * 7.33104 netsum -netsum + rinp (4) * .3977718 netsum -netsum + rinp (5) * .1416061 netsum -netsum + rinp (6) * (-0.3049832) netsum -netsum + rinp (7) * (-3.765624 ) netsum -netsum + rinp (8) * (-1.304008 ) netsum -netsum + rinp (9) * (-9.033795 ) netsum -netsum + rinp (10) . '(-3.40293 ) netsum -netsum + rinpdl) . r (-0.1483207) netsum -netsum + rinp (12) . ' .6851714 feat2(9) - exp (-netsum * ' netsum) netsum - .8604497 netsum -netsum + rinpd) .1640067 netsum -netsum + rinp (2) * 3.126678 netsum -netsum + rinp (3) * (-0.3303308) netsum -netsum + rinp (4) * (-0.2181669) netsum -netsum + rinp (5) * (-0.8808434) netsum -netsum + rinp (6) * (-0.7185585) netsum -netsum + rinp (7) * (-0.2771405) netsum -netsum + rinp (8) * .229917 netsum -netsum + rinp (9) * 8.204659E-02 netsum -netsum + rinp (10) _ ' (-1.250545 ) netsum -netsum + rinpdl) _ ' (-0.6641473) netsum -netsum + rinp (12) _ ' 5.099313E-02 feat2(10) - exp(-netsum * netsum) netsum - 9.731671E-03 netsum -netsum + rinpd) * .5964558 netsum -netsum + rinp (2) * 1.320623 netsum -netsum + rinp (3) _> (-0.4427402) netsum -netsum + rinp (4) * (-0.2039201) netsum -netsum + rinp (5) # .7026184 netsum -netsum + rinp (6) * 1.133914 netsum -netsum + rinp (7) * .1080545 netsum -netsum + rinp (8) * 1.638826 netsum -netsum + rinp (9) * 9.789128E-02 netsum -netsum + rinpdO) . .9474844 netsum -netsum + rinpdl) _ ' 2.16437 netsum -netsum + rinp (12) _ ' (-0.7597708) feat2(ll) - exp (-netsum * netsum) netsum —21.7906 netsum -netsum + rinpd) * f-22.28039) netsum -netsum + rinp (2) * (-1.04849 ) netsum -netsum + rinp (3) * 3.056987 netsum -netsum + rinp (4) * (-.316791 ) netsum -netsum + rinp (5) ' * 1.355303 netsum -netsum + rinp (6) * 3.271367 netsum -netsum + rinp (7) * 9.923672 netsum -netsum + rinp (8) 4.104192 netsum -netsum + rinp (9) .4940526 netsum -netsum + rinp (10) .6994582 netsum -netsum + rinpdl) (-2.14997 ) netsum -netsum + rinp (12) (-.4787159 ) feat2(12) - exp (-netsum * netsum) netsum - 14.5285 netsum -netsum + rinpd) 14.09845 netsum -netsum + rinp (2) 1.341903 netsum -netsum + • rinp (3) (-2.476427) netsum -netsum + rinp (4) (-0.281077) netsum -netsum + rinp (5) (-0.1991969) netsum -netsum + • rinp (6) (-.3404187) netsum -netsum + rinp (7) (-1.639992) netsum -netsum + rinp (8) (-5.519081) netsum -netsum + rinp (9) (-4.471209E-02) netsum -netsum + rinpdO) > 1.709916 netsum -netsum + rinpdl) > .7703263 netsum -netsum + rinp (12) > .4978764 feat2 (13) - exp (-netsum netsum) netsum - 2.165001 netsum -netsum + rinpd) 1.617206 netsum -netsum + rinp (2) 1.438555 netsum -netsum + rinp (3) 1.979335 netsum -netsum + rinp { ) (-.424723) netsum -netsum + rinp (5) (-.3777169) netsum -netsum + rinp (6) (-.5513619) netsum -netsum + rinp (7) (-.5065005) netsum -netsum + rinp (8) (-.2243843) netsum -netsum + rinp (9) .7235879 netsum -netsum + rinpdO) " .2731817 netsum -netsum + rinpdl) ► (-.3210594) netsum -netsum + rinp (12) " .8581523 feat2 (14) - exp(-netsum netsum) netsum - 8.807339 netsum -netsum + rinpd) 9.171766 netsum -netsum + rinp (2) 1.251402 netsum -netsum + rinp (3) 4.223038E-02 netsum -netsum + rinp (4) 3.249933 netsum -netsum + rinp (5) (-1.586802 ) netsum -netsum + rinp (6) (-.9732659 ) netsum -netsum + rinp (7) (-2.812624 ) netsum -netsum + rinp (8) (-1.110747 ) netsum -netsum + rinp (9) (-1.754758 ) netsum -netsum + rinpdO) > (-.7107658) netsum -netsum + rinpdl) ► (-.2118419) netsum -netsum + rinp (12) * (-4.748538) feat2 (15) - exp (-netsum netsum) netsum — 24.31885 netsum -netsum + rinpd) 25.24085 netsum -netsum + rinp (2) 9.165552E-03 netsum -netsum + rinp (3) (-1.105294 ) netsum -netsum + rinp (4) 1.55441 netsum -netsum + rinp (5) * 2.357404E-02 netsum -netsum + rinp (6) * (-.6883216 ) netsum -netsum + rinp (7) * .5633594 netsum -netsum + rinp (8) * (-.4536002 ) netsum -netsum + rinp (9) * (-1.080378 ) netsum -netsum + rinp (10) < * (-3.276906 ) netsum -netsum + rinp (11) ♦ (-.4871706 ) netsum -netsum + rinp (12) * * .2360506 feat2(16) - exp (-netsum * netsum) netsum —1.503823 netsum -netsum + rinp(l) * (-.6503786 ) netsum -netsum + rinp (2) * (-.8518894 ) netsum -netsum + rinp (3) * .4438807 netsum -netsum + rinp (4) * (-1.700492) netsum -netsum + rinp (5) * (-.4027815) netsum -netsum + rinp (6) * 1.183602 netsum -netsum + rinp (7) * (-.7111298) netsum -netsum + rinp (8) * .5317486 netsum -netsum + rinp (9) * (-2.205959) netsum -netsum + rinp (10) * r .4328897 netsum -netsum + rinp (11) * ' (-.598528) netsum -netsum + rinp (12) * ' .6510884 feat2(! .7) « exp (-netsum * netsum) netsum - 3.001333 netsu -netsum + rinp(l) * 3.18785 netsum -netsum + rinp (2) * (-1.694098) netsum -netsum + rinp (3) * (-1.300146) netsum -netsum + rinp (4) * .6210923 netsum -netsum + rinp (5) * (-.5514606 ) netsum -netsum + rinp (6) * (-.2520368 ) netsum -netsum + rinp (7) * .1758011 netsum -netsum + rinp (8) * .2199759 netsum -netsum + rinp (9) * .2837744 netsum -netsum + rinpdO) * ' (-1.185453 ) netsum -netsum + rinp (11) * ' .384638 netsum -netsum + rinp (12) * ' (-.8394419 ϊ feat2(18) - exp (-netsum * netsum) netsum - .3407552 netsum -netsum + rinpd) * .5263199 netsum -netsum + rinp (2) * (-1.037374) netsum -netsum + rinp (3) * .5965804 netsum -netsum + rinp (4) * (-1.390139) netsum -netsum + rinp (5) * .4887144 netsum -netsum + rinp (6) * (-.2989312) netsum -netsum + rinp (7) * (-2.087714) netsum -netsum + rinp (8) * (-.5322312) netsum -netsum + rinp (9) * (-2.915643E-02) netsum -netsum + rinp (10) * 1.066889 netsum -netsum + rinp (11) • * .5473789 netsum -netsum + rinp (12) * ' (-.3405619) feat2(19) - exp (-netsum * netsum) netsum —8.420935 netsum -netsum + rinpd) * (-7.568845) netsum -netsum + rinp (2) (-3.478784) netsum -netsum + rinp (3) 2.316029 netsum -netsum + rinp(4) 4.448054 netsum -netsum + rinp (5) 1.026725 netsum -netsum + rinp (6) (-2.363592) netsum -netsum + rinp (7) (-.1489789) netsum -netsum + rinp (8) 1.537074 netsum -netsum + rinp (9) 2.326678 netsum -netsum + rinp (10) * .1281994 netsum -netsum + rinpdl) * 2.737132 netsum -netsum + rinp (12) * 1.610292 feat2(20) - exp(-n)etsum * netsum) netsum —14.36335 netsum -netsum + rinpd) (-14.67757) netsum -netsum + rinp (2) (-7.476429) netsum -netsum + rinp (3) .3055322 netsum -netsum + rinp (4) (-1.530191) netsum -netsum + rinp (5) (-.3242447) netsum -netsum + rinp (6) (-.3722629) netsum -netsum + rinp (7) (-.3205389) netsum -netsum + rinp (8) .1496857 netsum -netsum + rinp (9) .7284047 netsum -netsum + rinp (10) * (-2.00148 ) netsum -netsum + rinp l) * (-.8893465) netsum -netsum + rinp (12) * 1.790102 feat2(21) - exp(-•:netsum * netsum) netsum —.2575731 netsum -netsum + rinp d) (- 4.604327E-02) netsum -netsum + rinp (2) 3176695 netsum -netsum + rinp (3) 3105142 netsum -netsum + rinp (4) 2097623 netsum -netsum + rinp (5) .3020958 ) netsum -netsum + rinp (6) • 7.505952E-04 ) netsum -netsum + rinp (7) * 2544702 netsum -netsum + rinp (8) .1487684 ) netsum -netsum + rinp (9) • 7.815779E-02 } netsum -netsum + rinp O) 6.541059E-02 netsum -netsum + rinp dl) 11904476 netsum -netsum + rinp (12) .2810201 feat3(l) - tanh(netsum) netsum —.3028845 netsum -netsum + rinpd) .0627518 netsum -netsum + rinp (2) (-2.131737E-02) netsum -netsum + rinp (3) (-.1559587 ) netsum -netsum + rin (4) (-7.945337E-03) netsum -netsum rinp (5) (-.2167114 ) netsum -netsum rinp (6) .4561878 netsum -netsum rinp (7) .2477662 netsum -netsum rinp (8) .2318313 netsum -netsum rinp(9) (-.2575041 ) netsum -netsum rinp (10) ' 7.092742E-02 netsum -netsum rinpdl) ' 5.012937E-02 netsum -netsum rinp (12) ' .1768791 feat3(2) - tanh(netsum) netsum - .3554413 netsum -netsum + rinpd ) 1.697886E-02 netsum -netsum + rinp (2) .1297395 netsum -netsum + rinp (3) .1250277 netsum -netsum + rinp (4) (-.1042037 ) netsum -netsum + rinp (5) (-.3646095 ) netsum -netsum + rinp (6) (-1.991688E-02) netsum -netsum + rinp (7) .1074966 netsum -netsum + rinp (8) (-.177246 ) netsum -netsum + rinp (9) .392395 netsum -netsum + rinpdO) ' .3268477 netsum -netsum + rinpdl) ' (-4.755531E-02) netsum -netsum + rinp (12) ' .2197932 feat3(3) - tanh(netsum) netsum —3.259742E-02 netsum -netsum + rinpd ) (-.1694424) netsum -netsum + rinp (2) 3.197691 netsum -netsum + rinp (3) (-2.876542) netsum -netsum + rinp (4) 1.921391 netsum -netsum + rinp (5) (-4.345436E-02) netsum -netsum + rinp (6) .3191689 netsum -netsum + rinp (7) (-.2214829) netsum -netsum + rinp (8) (-.2616879) netsum -netsum + rinp (9) (-.6246827) netsum -netsum + rinp (10) ' .8745905 netsum -netsum + rinpdl) * (-8.156806E-02) netsum -netsum + rinp (12) " .2901786 feat3 (4) - tanh (netsum) netsum - 4.702652E-02 netsum -netsum + rinpd) .1450764 netsum -netsum + rinp (2) (-.322369 ) netsum -netsum + rinp (3) (-.3449077) netsum -netsum + rinp (4) (-.1485519) netsum -netsum + rinp (5) .4211198 netsum -netsum + rin (6) (-.3648086) netsum -netsum + rinp(7) .2671481 netsum -netsum + rinp(8) (-.1595682) netsum -netsum + rinp (9) (-.2280962) netsum -netsum + rinpdO) * .1529818 netsum -netsum + rinp(ll) * .2264092 netsum -netsum + rinp(12) * (-3.798243E-02) feat3{5) - tanh(netsum) netsum —.4368384 netsum -netsum + rinpd) (-8.621734E-02) netsum -netsum + rinp (2) (-.3074037 netsum -netsum + rinp (3) (-.2257829 netsum -netsum + rinp (4) .3131927 netsum -netsum + rinp (5) 5.785789E-02 netsum -netsum + rinp (6) .3975277 netsum -netsum + rinp (7) .3964346 netsum -netsum + rinp (8) 9.894332Ξ-02 netsum -netsum + rinp (9) (-.7325403) netsum -netsum + rinpdO) » .1459055 netsu -netsum + rinp dl) * 9.453094Ξ-02 netsum -netsum + rinp (12) * 1-581703E-02 feat3 (6) - tan (netsum) netsum - .3320937 netsum -netsum +• rinpd) * .2237408 netsum -netsum + rinp(2) * 5.583143 netsum -netsum + rinp(3) * 2.98605 netsum -netsum + rino(4) * .2121375 netsum -netsum + rinp(5) * (-.4673353 ) netsum -netsum + rinp (6) * (-1.600178 ) netsum -netsum + rinp (7) * (-.1643059 ) netsum -netsum + rinp(8) * .3593511 netsum -netsum + rinp (9) * .2852264 netsum -netsum + rinpdO) * ' (-.6074029) netsum -netsum + rinpdl) * ' 1.518138 netsum -netsum + rinp(12) * ' (-.6710405) feat3(7) - tanh (netsum) netsum —.128499 netsum -netsum + rinpd) * .3327701 netsum -netsum + rino(2) * (-.1683188) netsum -netsum + rinp (3) * (-2.564915) netsum -netsum + rinp(4) * (-.1952764) netsum -netsum + rinp (5) * .3103292 netsum -netsum + rinp(6) * .2533527 netsum -netsum + rinp (7) * (-.4002736) netsum -netsum + rinp(8) * (-.2731935) netsum -netsum + rinp (9) * (-.2759098) netsum -netsum + rinpdO) * • (-9.847127E-02) netsum -netsum + rinpdl) * ' 7.394566E-02 netsum -netsum + rinp (12) * (-.2311635) feat3(8) - tanh(netsum) netsum —1.727722E-03 netsum -netsum + rinp d) .1055021 netsum -netsum + rinp (2) (-.4015839) netsum -netsum + rinp (3) (-2.939985E-02) netsum -netsum + rinp (4) 8.790779E-03 netsum -netsum + rinp (5) .2620605 netsum -netsum + rinp (6) .1602927 netsum -netsum + rinp (7) .2392207 netsum -netsum + rinp (8) .3568918 netsum -netsum + rinp (9) 9.459538E-02 netsum -netsum + rinp dO) ' (-.1290165) netsum -netsum + rinp dl) ' (-.185919 ) netsum -netsum + rinp (12) ' (-6.494433E-02 ) feat3(9) - tanh(netsum) netsum - .2340472 netsum -netsum + rinpd) (-.259376 ) netsum -netsum + rinp (2) (-.3730666) netsum -netsum + rinp (3) .1120929 netsum -netsum + rinp (4) .3497284 netsum -netsum + rinp (5) 2.187109E-02 netsum -netsum + rinp (6) (-.1980693) netsum -netsum + rinp (7) 7.52026E-02 netsum -netsum + rinρ(8) * 9.860699E-03 netsum -netsum + • rinp (9 ) ' .3087495 netsum -netsum + rinp (10 ) -.3584993) netsum -netsum + rinp (11) (-.1347164) netsum -netsum + rinp (12) .2135105 feat3(10) - tanh(netsum) netsum —.112251 netsum -netsum + rinp(l) * (-.2202621) netsum -netsum + rinp (2) * (-.2501283) netsum -netsum rinp (3) * (-1.965764) netsum -netsum rinp (4) * (-.4875956) netsum -netsum rinp (5) * .1686698 netsum -netsum rinp (6) * (-.2886015 ) netsum -netsum rinp (7) « 6.603753E-02 netsum -netsum rinp (8) < (-.3975543) netsum -netsum rinp (9) ' 1.62925 netsum -netsum rinp (10) * 6.732044E-02 netsum -netsum rinp(ll) * .5588393 netsum -netsum rinp (12) * (-.2356991) feat3 (11) - tanh (netsum) netsum —.1158362 netsum -netsum + rino(l) * (-.3164283) netsum -netsum rinp (2) * 5.466121E-02 netsum -netsum + rinp (3) * 4.686301E-02 netsum -netsum + rinp (4) * (-.3716424) netsum -netsum + rinp (5) « .1653765 netsum -netsum + rinp (6) * .4769207 netsum -netsum + rinp (7) * (-.3377983) netsum -netsum + rinp (8) < .2792558 netsum -netsum + rinp (9) ' (-1.33283 ) netsum -netsum + rinpdO) ► .7366117 netsum -netsum + rinp(ll) » (-.1025617) netsum -netsum + rinp (12) * .2596295 feat3 (12) - tanh(netsum) netsum —1.674693E-02 netsum -netsum + rinp(l ) 2.734619E-02 netsum —netsum + rinp(2) * (-.2293555 ) netsum —netsum + rinp (3) * (-9.615272E-021 netsum —netsum + rin (4) * 1.389983 netsum —netsum + rinp (5) * 1.547919E-02 netsum —netsum + rinp(6) * (-1.902154 ) netsum —netsum + rinp (7) * . .254097 netsum —netsum + rinp (8) * (-5.499937E-02 netsum —netsum + rinp (9) * (-2.509773 netsum —netsum + rinp (10) * (-.1057593 netsum —netsum + rinpdl) * (-8.668903E-02 netsum —netsum + rinp (12) * .3830953 fea 3 (13) - tanh(netsum ) netsum —.7062363 netsum -netsum + rinpd ) (-.3705815) netsum -netsum + rinp (2 ) 2.698871 netsum -netsum + rinp ( 3 ) (-4.27107 ) netsum -netsum + rinp ( 4 ) .2509981 netsum -netsum + rinp (5) (-.5517086 ) netsum -netsum + rinp (6) (-.3371266 ) netsum -netsum + rinp (7) (-.2755211 ) netsum -netsum + rinp (8) (-.5917753 ) netsum -netsum + rinp (9) .1091451 netsum -netsum + rinp (10) * (-.4748518 ) netsum -netsum + rinp(ll) * .4282114 netsum -netsum + rinp (12) * 5.060198E-02 feat3(14) - tanh(netsum) netsum - 7.981207E-02 netsum -netsum + rinp (1) * 8.437765E-02 netsum -netsum + rinp (2) * 2.128165E-02 netsum -netsum + rinp (3) * (-.8491921) netsum -netsum + rinp (4) * (-.3334049) netsum -netsum + rinp (5) * (-.3912119) netsum -netsum + rinp (6) * (-.6065211) netsum -netsum + rinp (7) * (-.3184715) netsum -netsum + rinp (8) * .1826969 netsum -netsum + rinp (9) * .1236613 netsum -netsum + rinp (10) * .083627 netsum -netsum + rinp (11) * (-1.245337E-02) netsum -netsum + rinp (12) * .1654534 feat3(15) - tanh (netsum) netsum - 5.028282E-02 netsum -netsum + rinpd) (-.2435983) netsum -netsum + rinp (2) (-6.825988E-02) netsum -netsum + rinp (3) .1901928 netsum -netsum + rinp (4) (-.6457856 ) netsum -netsum + rinp (5) .2413995 netsum -netsum + rinp (6) .166938 netsum -netsum + rinp (7) .9149539 netsum -netsum + rinp (8) .4117956 netsum -netsum + rinp (9) .1175105 netsum -netsum + rinpdO) (-.1065779) netsum -netsum + rinp l) .6450027 netsum -netsum + rinp (12) (-.1101349) feat3(16) - tanh(netsum) netsum —.3840751 netsum -netsum + rinpd) * (-.1249121 ) netsum -netsum + rinp (2) * 9.756697E-02 netsum -netsum + rinp (3) * (-.3136349 ) netsum -netsum + rinp (4) * .3891749 netsum -netsum + rinp (5) * .3634779 netsum -netsum + rinp(6) * .3263626 netsum -netsum + rinp (7) * (-.3634293) netsum -netsum + rinp (8) * (-.1964977) netsum -netsum + rinp (9) * (-3.508056E-02) netsum -netsum + rinp (10) * (-.2543058) netsum -netsum + rinpdl) * .1214674 netsum -netsum + rinp (12) * (-.4481286) feat3(17) - tanh(netsum) netsum - .3900333 netsum -netsum + rinpd) (-.1315402) netsu -netsum + rinp (2) ' .4493874 netsum -netsum +• rinp (3) ' .011783 netsum -netsum + rinp(4) ' (-4.099728E-02) netsum -netsum + rinp (5) ' (-0.3184695 ) netsum -netsum +• rinp(6) ' (-8.531022S-02) netsum -netsum + rinp(7) ' 5.953399E-02 netsum -netsum + rinp (8) (-0.1538244) netsum -netsum + rinp (9) ' 1.751133 netsum -netsum + rinpdO) ' (-.4753861) netsum -netsum + rinpdl) ' (-.3016366) netsum -netsum + rinp (12) • (-.3812838) feat3(18) - tanh(netsum) netsum —.3206839 netsum -netsum + rinpd) * .1101886 netsum -netsum + rinp (2) * 6.639992E-02 netsum -netsum + rinp (3) * .2110303 netsum -netsum + rinp(4) ► (-.2537424) netsum -netsum + rinp (5) " (-.1997675) netsum -netsum + rinp (6) ■ .1741385 netsum -netsum + rinp (7) * .1342929 netsum -netsum + rinp(8) " (-.4334273) netsum -netsum + rinp (9) > .1293867 netsum -netsum + rinpdO) * .1230032 netsum -netsum + rinpdl) * (-.1237438) netsum -netsum + rinp(12) * .1142845 feat3(19) - tanh(netsum) netsum - .1938384 netsum -netsum + rinpd) * (-.1993133 ) netsum -netsum + rinp (2) * 4.399233E-03 netsum -netsum + rinp(3) * .3165902 netsum -netsum + rinp (4) * (-.9666852 ) netsum -netsum + rinp (5) * 6.576182E-02 netsum -netsum + rinp (6) * .8161741 netsum -netsum + rinp (7) * (-.1772052 ) netsum -netsum + rinp(8) * .245754 netsum -netsum + rinp(9) * (-.6076201) netsum -netsum + rinp O) * (-2.743577E-02J netsum -netsum + rinpdl) * (-.1917721) netsum -netsum + rinp(12) * .1841234 feat3 (20) - tanh(netsum) netsum - .5312517 netsum -netsum + rinpd) * .5183119 netsum -netsum + rinp(2) * .6302714 netsum -netsum + rinp(3) * (-2.298639E-02 ) netsum -netsum + rinp(4) * .4121842 netsum -netsum + rinp(5) * (-2.09918) netsum -netsum + rinp(6) * .2910148 netsum -netsum + rinp(7) * (-7.970229E-03) netsum -netsum + rinp(8) * (-.4994267) netsum -netsum + rinp(9) * 1.612925 netsum -netsum + rinpdO) * (-.1311285) netsum -netsum + rinpdl) * .1445411 netsum -netsum + rinp(12) * (-.2540566) feat3(21) - tanh(netsum) netsum —8.239433E-02 netsum -netsum + feat2(l) * (-.553942 ) netsum -netsum + feat2(2) * (-.1529481) netsum -netsum + feat2(3) * (-.247522 ) netsum -netsum + feat2(4) * (-.32922 ) netsum -netsum + feat2(5) * .1186231 netsum -netsum + feat2{6).* .1983325 netsum -netsum + feat2(7) ♦ .3981278 netsum -netsum + ■ feat2(8) * (-.1223534 ) netsum -netsum + ■ feat2(9) * (-.4035809 ) netsum -netsum + feat2(10) * (-.1025259) netsum -netsum + feat2(ll) * (-.280618 ) netsum -netsum + feat2(12) * (-5.556652E-02) netsum -netsum + feat2(13) * (-.1629768 ) netsum -netsum + feat2(14) * (-.1916995 ) netsum -netsum + feat2(15) * .1080331 netsum -netsum + feat2{16) * (-.6033034 ) netsum -netsum + feat2(17) * .2070861 netsum -netsum + feat2(18) * .0843187 netsum -netsum + feat2(19) * 8.000208E-02 netsum -netsum + feat2(20) * .4381691 netsum -netsum + feat2(21) * (-.3181263 ) netsum -netsum + .3532266 netsum -netsum + rinpd] 1 * (-.3001869 ) netsum -netsum + rinp (2] 1 * (-.2163708) netsum -netsum + rinp (3] 1 * .2015528 netsum -netsum + rinp (4] 1 * 4.360439E-02 netsum -netsum + rinp (5] 1 * 9.357104E-02 netsum -netsum + rinp (6! I * .2966376 netsum -netsum + rinp (7] 1 * (-.3073515 ) netsum -netsum + rinp (81 I * .2573507 netsum -netsum + rinp (9! I * .121018 netsum -netsum + rinpdO) * (-.1345129 ) netsum -netsum + rinpdl) * (-.2559653 ) netsum -netsum + rinp(12) * (-2.602742E-02 ) netsum -netsum + .580153 netsum -netsum + feat3(l) * .2535317 netsum -netsum + feat3(2) * .1151744 netsum -netsum + feat3(3) * (-.26991 ) netsum -netsum + feat3(4) * 4.187628E-02 netsum -netsum + feat3(5) * 2.228736E-02 netsum -netsum + feat3{6) * 7.279389E-02 netsum -netsum + feat3(7) * .1508926 netsum -netsum + feat3(8) * (-.2856701) netsum -netsum + feat3(9) * (-.3182533) netsum -netsum + feat3(10) * (-.4044446) netsum -netsum + feat3 (11) * .0370992 netsum -netsum + feat3(12) * (-.1161413 ) netsum -netsum + feat3(13) * .0589527 netsum -netsum + feat3{14) * .162656 netsum -netsum + feat3{15) * .130194 netsum -netsum + feat3(16) * .1316225 netsum -netsum + feat3(17) * (-.2970151 ) netsum -netsum + feat3(18) * (-5.810943E-02 ) netsum -netsum + feat3(19) * .3586513 netsum -netsum + feat3(20) * (-.2697732) /04808 -35- netsu -netsum + feat3(21) * (-5.697188E-02) if (netsum .It.-ID) netsum —10 if (netsum .gt.10) netsum -10 outp(l) - netsum al - 2.320146 ♦ (outp(l) ♦ 1.0) / 2.0 ci - sqrt(l.+l./189.+((al- 1.37288)**2)/405.88193) *sqr (0.093267) a2 - al - ci a3 - al + ci al - 10**al -1.0 *2 - 10**a2 -1.0 a3 - 10**a3 -1.0 write{*,*}' ' WRITE(*,21)al,a2,a3 1 fozmat(12x, t PREDICTED RDI - ',f6.1, ' 951 CI: ',f6.1, ' - f6 $.1) END

Claims: CLAIMS : What is claimed is: 1. A method for predicting respiratory disturbances comprising: gathering information from a patient, the information comprising pieces of information answers to questions and responses to statements; determining numerical values for each of the answers and responses; determining a first set of predictive indicators from the pieces of information; determining a second set of predictive indicators from the pieces of information; determining a predictive number from the pieces of information, the first set of predictive indicators, and the second set of predictive indicators, wherein the predictive number corresponds to a respiratory disturbance index; and providing the predictive number to a health professional. 2. A storage device having stored thereon computer readable code for causing a computer to execute the method of claim 1. 3. A method for developing an artificial neural network for making a prediction about an attribute comprising: determining relevant information needed to make a predication; performing clinical studies on patients to determine which patients have a particular attribute and to produce results corresponding to the attribute; gathering information about the patients, the information comprising pieces of information; statistically analyzing the information gathered to determine relationships between the pieces of information and the results from the clinical studies; expressing the relationships mathematically; exposing the mathematical relationships to a training set and adjusting the mathematical relationships to produce a desired outcome; and testing the adjusted mathematical relationships.

Inventors: EL-SOLH ALI A, GRANT BRYDON J B, EL-SOLH, ALI, A., GRANT, BRYDON, J., B.
Applicants: EL SOLH ALI A, GRANT BRYDON J B, UNIV NEW YORK, EL-SOLH, ALI, A., GRANT, BRYDON, J., B., THE RESEARCH FOUNDATION OF THE STATE UNIVERSITY OF NEW YORK
Application year: 1999
Main classification: G06F
IPC codes: A61B5, A61B10, A61B19, G06F19, G06N3