{"title": "Parameterized Novelty Detectors for Environmental Sensor Monitoring", "book": "Advances in Neural Information Processing Systems", "page_first": 619, "page_last": 626, "abstract": "", "full_text": "Parameterized Novelty Detection for\n\nEnvironmental Sensor Monitoring\n\nCynthia Archer, Todd K. Leen, Antonio Baptista\n\nOGI School of Science & Engineering\nOregon Health & Science University\n\n20000 N. W. Walker Road\n\nBeaverton, OR 97006\n\narcher@cse.ogi.edu, tleen@cse.ogi.edu, baptista@ccalmr.ogi.edu\n\nAbstract\n\nAs part of an environmental observation and forecasting system,\nsensors deployed in the Columbia RIver Estuary (CORIE) gather\ninformation on physical dynamics and changes in estuary habi-\ntat. Of these, salinity sensors are particularly susceptible to bio-\nfouling, which gradually degrades sensor response and corrupts crit-\nical data. Automatic fault detectors have the capability to identify\nbio-fouling early and minimize data loss. Complicating the devel-\nopment of discriminatory classi(cid:12)ers is the scarcity of bio-fouling\nonset examples and the variability of the bio-fouling signature. To\nsolve these problems, we take a novelty detection approach that\nincorporates a parameterized bio-fouling model. These detectors\nidentify the occurrence of bio-fouling, and its onset time as reliably\nas human experts. Real-time detectors installed during the sum-\nmer of 2001 produced no false alarms, yet detected all episodes of\nsensor degradation before the (cid:12)eld sta(cid:11) scheduled these sensors for\ncleaning. From this initial deployment through February 2003, our\nbio-fouling detectors have essentially doubled the amount of useful\ndata coming from the CORIE sensors.\n\n1\n\nIntroduction\n\nEnvironmental observation and forecasting systems (EOFS) gather, process, and\ndeliver environmental information to facilitate sustainable development of natu-\nral resources. Our work is part of a pilot EOFS system being developed for the\nColumbia River Estuary (CORIE) [1]. This system uses data from sensors de-\nployed throughout the estuary (Figure 1) to calibrate and verify numerical models\nof circulation and material transport. CORIE scientists use these models to predict\nand evaluate the e(cid:11)ects of development on the estuary environment (e.g. [2]).\n\nCORIE salinity sensors deployed in the estuary lose several months of data every\nyear due to sensor degradation. Corrupted and missing (cid:12)eld measurements com-\npromise model calibration and veri(cid:12)cation, which can lead to invalid environmental\nforecasts. The most common form of salinity sensor degradation is bio-fouling, a\n\n\freduction of the sensor response due to growth of biological material on the sensor.\n\nPrior the deployment of the technology described here, on a yearly basis CORIE\nsalinity sensors su(cid:11)ered a 68% data loss due to bio-fouling. Although bio-fouling\ndegradation is a common problem for environmental sensors, there is apparently no\nprevious work that develops automatic detectors of such degradation.\n\nFigure 1: Map of Columbia River estuary marked with locations of CORIE sensors.\n\nEarly bio-fouling detection is made di(cid:14)cult by the normal variability of salinity\nmeasurements. Tides cause the measurements to vary from near river salinity to\nnear ocean salinity twice a day. The temporal pattern of salinity penetration varies\nspatially in the estuary. In addition, upriver sites, such as AM169, show substantial\nvariability with the 14 and 28 day spring-neap tidal cycle. Changes in weather (e.g.\nwinds, precipitation) and ocean conditions cause additional variations in salinity.\n\nTo complicate bio-fouling detection further, the bio-fouling signature also varies\nfrom episode to episode. The time from onset to complete bio-fouling can take\nanywhere from 3 weeks to 5 months depending on the season and type of growth.\nWe observe two types of bio-fouling in the estuary, hard growth (e.g. barnacles)\ncharacterized by quick linear degradation and soft growth (e.g. plant material)\ncharacterized by slow linear degradation with occasional interruptions in the down-\ntrend.\n\nFigure 2 illustrates tidal variations in salinity and the e(cid:11)ect that bio-fouling has on\nthese measurements. It contains salinity time series in practical salinity units (psu)\nfrom two sensors mounted at the Red26 station, Figure 1. The upper trace, from\nsensor CT1460, contains only clean measurements. The lower trace, from sensor\nCT1448, contains both clean and bio-fouled measurements. The (cid:12)rst half of the two\ntime series are similar, but beginning on September 28th, the salinity measurements\ndiverge. The CT1448 sensor exhibits typical hard-growth bio-fouling degradation.\n\nThe primary challenge to our work is to detect the degradation quickly, ideally\nwithin several diurnal cycles. Early detection will limit the use of corrupted data in\non-line applications, and provide a basis to rapidly replace degrading sensors, and\nthus drastically reduce data loss.\n\nAlthough the CORIE data archives contain many months of bio-fouled data, there\nare relatively few examples of the onset of degradation for most of the sensors\n\n\f30\n\n20\n\n10\n\ny\nt\ni\n\nn\n\ni\nl\n\na\ns\n \n\n0\n6\n4\n1\nT\nC\n\n0\n9/10\n\n30\n\n20\n\n10\n\ny\nt\ni\n\nn\n\ni\nl\n\na\ns\n \n\n8\n4\n4\n1\nT\nC\n\n9/15\n\n9/20\n\n9/25\n\n9/30\n\n10/05\n\n10/10\n\n0\n9/10\n\n9/15\n\n9/20\n\n9/25\n\n9/30\n\n10/05\n\n10/10\n\nDate (month/day)\n\nFigure 2: Clean and bio-fouled salinity time series examples from Red26 station. The\nupper time series is from clean instrument CT1460. The lower time series from instrument\nCT1448 shows degradation beginning on September 28, 2001. On removal, CT1448 was\nfound to be bio-fouled.\n\ndeployed in the estuary, and it is this onset that we must detect. The dearth of\nonset examples, and the observed variability of the bio-fouling signature spatially,\nseasonally, and weekly (according to the spring/neap tidal cycle) prevents use of\nclassical discriminatory fault detectors. Instead we develop a parameterized novelty\ndetector to detect bio-fouling. This detector incorporates a parameterized model\nof bio-fouling behavior. The parameters in the model of bio-fouled sensor behavior\nare (cid:12)t on-line by maximum-likelihood estimation. A model of the clean sensor\nbehavior is (cid:12)t to archival data. These models are used in a sequential likelihood\ntest to provide detection of bio-fouling, and an estimation of the time at which the\ndegradation began.\n\nEvaluations show that our detectors identify the onset of bio-fouling as reliably as\nhuman experts, and frequently within fewer tidal cycles of the onset. Our deploy-\nment of sensors throughout the estuary has resulted in an actual reduction of the\nerror loss from 68% to 35%. However, this (cid:12)gure does not adequately re(cid:13)ect the\ne(cid:14)cacy of the detectors. Were it economical to replace sensors immediately upon\ndetection of degradation, the data loss would have been reduced to 17%.\n\n2 Salinity and Temperature\n\nOur detectors monitor maximum diurnal (md) salinity, de(cid:12)ned as the maximum\nsalinity near one of the two diurnal tidal (cid:13)oods. When the sensor is clean, the md\nsalinity stays close to some mean value, with occasional dips of several psu caused\nby variations in the intrusion of salt water into the estuary. When the sensor bio-\nfouls, the md salinity gradually decreases to typically less than half its normal mean\nvalue, as seen in the Figure 2 example.\n\nDetectors that monitor salinity alone can not distinguish between normal decreases\n\n\fin salinity and early bio-fouling. This results in a high false alarm rate1. Natural\nsalinity decreases can be recognized by monitoring a correlated source of information\nthat is not corrupted by bio-fouling.\n\nSalinity and temperature at a station are products of the same mixing process of\nocean and river waters, so we expect these values will be correlated. Assuming\nlinear mixing of ocean and river waters, measured salinity Sm and temperature Tm\nare linear functions of ocean fSo; Tog and river fSr; Trg values\n\nSm = (cid:11)(t)So + (1 (cid:0) (cid:11)(t))Sr\n\nTm = (cid:11)(t)To + (1 (cid:0) (cid:11)(t))Tr\n\n(1)\n\n(2)\n\nwhere (cid:11)(t) is the mixing coe(cid:14)cient at time t. River salinity Sr is close to zero.\nConsequently, the estimated mixing coe(cid:14)cient\n\n(cid:11)(t) =\n\nTr (cid:0) Tm\nTr (cid:0) To\n\n(3)\n\nshould be well correlated with salinity, Sm (cid:25) (cid:11)So. The river temperature is mea-\nsured at far upstream stations (Elliot or Woody). The ocean temperature is esti-\nmated from measurements at Sand Island, the outermost sensor station.\n\n3 Bio-fouling Detection\n\nOur early experiments with single-measurement detection suggested that we develop\ndetectors that accrue information over time - similar to the standard sequential\nlikelihood methods in classical pattern recognition. The is a natural framework for\ndetecting degradation that grows with time.\n\nAssume a sequence of measurements (salinity and temperature) yn; n = 1; : : : ; N\nwhere N is the current time. We construct probability densities for such sequences\nfor both clean sensors p(y1; : : : ; yN j c), and for biofouled sensors p(y1; : : : ; yN j f ).\nWith these distributions, we construct a likelihood ratio test\n\nh = ln\n\np(y1; : : : ; yN j f )\np(y1; : : : ; yN j c)\n\nf\n>\n<\nc\n\n(cid:21)\n\n(4)\n\nwhere the threshold (cid:21) is chosen high enough to provide a speci(cid:12)ed false alarm rate\n(Neyman-Pearson test).\n\nWe assume that the probability density for the measurement sequence for fouled\ndetectors is parameterized by a vector of unknown parameters (cid:18). The model is\nconstructed such that at (cid:18) = 0 the density for the sequence assuming a fouled\ndetector is equal to the density of the sequence assuming a clean detector\n\np(y1; : : : ; yN j f; (cid:18) = 0) = p(y1; : : : ; yN j c)\n\n(5)\n\nNext, we suppose that a given sequence contains a bio-fouling event that is initiated\nat the unknown time (cid:28) . Under our density models (below), consecutive measure-\nments in the sequence are independent conditioned on the state of the detector.\n\n1Equivalently, if the alarm threshold is increased to maintain a low false alarm rate,\n\nthe rate of proper detections is decreased.\n\n\fConsequently, the likelihood ratio for the sequence (4) reduces to\n\nh = ln\n\np(y1; : : : ; yN j f; (cid:28); (cid:18))\n\np(y1; : : : ; yN j c)\n\n= ln\n\np(y1; : : : ; y(cid:28) (cid:0)1 j c) p(y(cid:28) ; : : : ; yN j (cid:28); (cid:18); f )\n\np(y1; : : : ; yN j c)\n\n=\n\nN\n\nXn=(cid:28)\n\nln\n\np(yn j (cid:28); (cid:18); f )\n\np(yn j c)\n\nf\n>\n<\nc\n\n(cid:21)\n\n(6)\n\nFinally, we (cid:12)t the fouling model parameters (cid:18) and the onset time (cid:28) , by maximizing\nthe log-likelihood ln p(y1; : : : ; yN j f; (cid:28); (cid:18)) with respect to (cid:18) and (cid:28) . Since the clean\ndetector model is independent of (cid:28) and (cid:18), this is equivalent to maximizing the\nlog-likelihood ratio in (6). Hence, we replace the latter with\n\nh = max\n(cid:28);(cid:18)\n\nN\n\nXn=(cid:28)\n\nln\n\np(ynj(cid:28); (cid:18); f )\n\np(ynjc)\n\nf\n>\n<\nc\n\n(cid:21)\n\n(7)\n\nIf the sequence is coming from a clean sensor, the (cid:12)t should give (cid:18) (cid:25) 0 and hence\nh (cid:25) 0 (cf 5), and we will detect no event (assuming (cid:21) > 0). This construction is a\nvariant of the type of signal change detection discussed by Basseville [3].\n\n3.1 Bio-fouling Fault Model\n\nBy parameterizing the bio-fouling model, we are able to develop detectors using\nonly clean example data.\nIn this parameterized novelty detector, the bio-fouled\nparameters (cid:18) are (cid:12)t on-line to the data under test. To develop our classi(cid:12)er, we\n(cid:12)rst de(cid:12)ne models of the clean and bio-fouled data. We model the true salinity, s,\nand temperature-based mixing coe(cid:14)cient, (cid:11), as jointly Gaussian,\n\np(s; (cid:11)jc) = N ((cid:22); (cid:6)) where (cid:22) = (cid:20) (cid:22)s\n\n(cid:22)(cid:11) (cid:21) and (cid:6) = (cid:20) (cid:27)2\n\ns\n(cid:27)s(cid:11)\n\n(cid:27)s(cid:11)\n(cid:27)2\n\n(cid:11) (cid:21) :\n\n(8)\n\nThis provides a regression of the salinity on (cid:11). The probability of md salinity mea-\nsurement conditioned on temperature when the sensor is clean is Gaussian N ((cid:17); (cid:26)2),\nwith conditional mean\n\nE[sj(cid:11); c] (cid:17) (cid:17) = (cid:22)s + ((cid:27)s(cid:11)=(cid:27)2\n\n(cid:11)) ((cid:11) (cid:0) (cid:22)(cid:11))\n\nand conditional variance\n\nvar[sj(cid:11); c] (cid:17) (cid:26)2 = (cid:27)2\n\n(cid:11)\n\ns (cid:0) (cid:27)2\n\ns(cid:11)=(cid:27)2\n\n(9)\n\n(10)\n\nWhen bio-fouling occurs, the salinity measurement is suppressed relative to the\ntrue value. We model this suppression as a linear downtrend with (unknown) rate\n(slope) m that begins at (unknown) time (cid:28) . The model of the measured md salinity\nvalue for a fouled detector is\n\nwhere the suppression factor, g(n), is\n\nxn = g(n)sn\n\ng(n) = (cid:26) 1\n\nn < (cid:28)\n(1 (cid:0) m(n (cid:0) (cid:28) )) n (cid:21) (cid:28)\n\n(11)\n\n(12)\n\nand m is the bio-fouling rate (1/sec). Using this suppression factor g(n) (12), the\nprobability of the salinity measurement, x, conditioned on temperature is\n\np(xnj(cid:11)n; m; (cid:28); f ) = N (g(n)(cid:17)n; g2(n)(cid:26)2)\n\n(13)\n\n\fNote that since the temperature sensor is not susceptible to bio-fouling, we need\nnot consider the case of both sensors degrading at the same time.\n\nThe discriminant function in (7) depends on the parameters of the clean model (9)\nand (10) which are estimated from historical data. It also depends on the slope\nparameter (cid:18) = m of the fouling model, and the onset time (cid:28) which are (cid:12)t online as\nper (7).\n\nApplying our Gaussian models in (8) and 13) to (7) gives us\n\nh = max\n(cid:28);m\n\nN\n\nXn=(cid:28)\n\nln\n\n1\n\n1 (cid:0) m(n (cid:0) (cid:28) )\n\n+\n\n(xn (cid:0) (cid:17)n)2\n\n2(cid:26)2\n\n(cid:0)\n\n(xn (cid:0) (1 (cid:0) m(n (cid:0) (cid:28) ))(cid:17)n)2\n\n2(1 (cid:0) m(n (cid:0) (cid:28) ))2(cid:26)2\n\n(14)\n\nWhen h is above our chosen threshold, the detector signals a biofouled sensor. The\nthreshold (cid:21) is set to provide a maximum false alarm rate on historical data.\n\n3.2 Model Fitting\n\nWe (cid:12)nd maximum likelihood estimates for (cid:22) and (cid:6) from clean archival time series\ndata. For yn = [sn; (cid:11)n]T and N training values, the mean is given by (cid:22) = 1\nand the covariance matrix by (cid:6) = 1\nparameter values, such as (cid:22)s or E[sj(cid:11)], can be extracted or calculated from (cid:22) and\n(cid:6).\n\nN Pn yn\nN Pn(yn (cid:0) (cid:22))(yn (cid:0) (cid:22))T . All other classi(cid:12)er\n\nAt each time step N , we determine the maximum likelihood estimate of onset time\n(cid:28) and bio-fouling rate m from the data under test. We (cid:12)nd the maximum likelihood\nestimate of bio-fouling rate m, for some onset time (cid:28) , by setting the (cid:12)rst derivative\nof (14) with respect to m equal to zero. This operation yields the relation\n\nm\n\nN\n\nXk=(cid:28) +1\n\n(k (cid:0) (cid:28) )2\n\n!2\nk\n\n(cid:17)2\nk =\n\nN\n\nXk=(cid:28) +1\n\nk (cid:0) (cid:28)\n\n!k (cid:18) (xk (cid:0) (cid:17)k)(cid:17)k\n\n!k\n\n(cid:0) (cid:26)2 +\n\n(xk (cid:0) !k(cid:17)k)2\n\n!2\nk\n\n(cid:19)\n\n(15)\n\nwhere !k = 1 (cid:0) m(k (cid:0) (cid:28) ) and N is the current time. Note that m appears both at\nthe beginning of (15) and in the de(cid:12)nition of !, so we do not have a closed form\nsolution for m. However, the ! values act as weights that increase the importance\nof most recent measurements. This weighting accounts for the expected decrease in\nmeasurement variance as bio-fouling progresses. To estimate m we take an iterative\napproach. First, initialize m to its minimum mean-squared error value given by\n\n(16)\n\nm(0) = (cid:0)PN\n\nk=(cid:28) +1(k (cid:0) (cid:28) )(xk (cid:0) (cid:17)k)(cid:17)k\n\nPN\nk=(cid:28) +1(k (cid:0) (cid:28) )2(cid:17)2\n\nk\n\nSecond, repeatedly solve (15) for m(i) with ! calculated using the previous value\nm(i(cid:0)1). The estimated rate value stops changing when h reaches a maximum.\n\nIf we set the window length N (cid:0) k to maximize the log likelihood ratio, h, the best\nestimate of onset time is (cid:28) . To determine the onset time estimate, (cid:28) , we search\nover over all past time for the value of k that maximizes h (14). For each possible\nwindow length, that is k = 3 : : : N , we determine the maximum likelihood estimate\nfor m and then calculate the corresponding discriminant h. The estimated onset\ntime (cid:28) is the window length N (cid:0) k that gives the largest value of h. If this h is\nabove our threshold, the current measurement is classi(cid:12)ed as bio-fouled.\n\n4 On-line Bio-fouling Detectors\n\nTo see how well our classi(cid:12)ers worked in practice, we implemented versions that op-\nerated on real-time salinity and temperature measurements. For all four instances\n\n\fof sensor degradation (three bio-fouling incidents and one instrument failure that\nmimicked bio-fouling) that occurred in the summer 2001 test period, our classi(cid:12)ers\ncorrectly indicated a sensor problem before the (cid:12)eld sta(cid:11) was aware of it. In ad-\ndition, the real-time classi(cid:12)ers produced no false alarms during the summer test\nperiod. More in-depth discussion of the detector suite is given by Archer et al in\n[4].\n\nl\n\na\nS\n \nx\na\nM\n\n35\n\n30\n\n25\n\n20\n\n15\n\n10\n\n20\n\n15\n\nR\nL\nS\n\n10\n\n5\n\n0\n\n9/05\n\n9/10\n\n9/15\n\n9/20\n\n9/25\n\n9/30\n\n10/05\n\n10/10\n\n9/05\n\n9/10\n\n9/15\n\n9/20\n\nDate\n\n9/25\n\n9/30\n\n10/05\n\n10/10\n\nl\n\na\nS\n \nx\na\nM\n\nR\nL\nS\n\n35\n\n30\n\n25\n\n20\n\n15\n\n10\n\n30\n\n20\n\n10\n\n0\n\n9/05\n\n9/10\n\n9/15\n\n9/20\n\n9/25\n\n9/30\n\n10/05\n\n10/10\n\n9/05\n\n9/10\n\n9/15\n\n9/20\n\nDate\n\n9/25\n\n9/30\n\n10/05\n\n10/10\n\n(a) Red26\n\n(b) Tansy Point\n\nFigure 3: Bio-fouling Indicators Red26 and Tansy Point. Top plots show maximum\ndiurnal salinity. Dotted lines indicate historical no false alarm (lower) and 10% false\nalarm rate (upper). Field sta(cid:11) schedule sensors for cleaning when the maximum salinity\ndrops \\too low\", roughly the no false alarm level. Bottom plots show the sequential\nlikelihood discriminant for forty days of salinity and temperature measurements. Dotted\nlines indicate historical no false alarm (upper) and 10% false alarm rate (lower). The (cid:2)\nindicates the estimated bio-fouling onset time.\n\nThe on-line monitor displays a bio-fouling indicator for the previous forty days of\ndata. Figure 3 shows the on-line bio-fouling monitor during incidents at the Red26\nCT1448 sensor and the Tansy Point CT1462 sensor. Since we had another sensor\nmounted at the Red26 site that did not bio-foul, Figure 2, we were able to estimate\nthe bio-fouling time as September 28th. Our detector discriminant passed the no\nfalse alarm threshold (cid:12)ve days after onset and roughly three days before the (cid:12)eld\nsta(cid:11) decided the instrument needed cleaning. This reduction in time to detection\ncorresponds to reduced data loss of over 30%. In addition, the onset time estimate\nof September 29th was within a day of the true onset time.\n\nThe Tansy Point CT1462 sensor began to bio-foul a few days after the Red26\nCT1448 sensor. Our detector indicated that the Tansy Point sensor was bio-fouling\non October 9th. Since neighboring sensor Red26 was being replaced on October\n11th, the (cid:12)eld sta(cid:11) decided to retrieve the Tansy Point sensor as well. On removal,\nthis sensor was found to be in the early stages of bio-fouling. In this case, indications\nfrom our classi(cid:12)er permitted the sensor to be replaced before the (cid:12)eld sta(cid:11) would\nnormally have scheduled it for retrieval. Experience with our on-line bio-fouling\nindicators demonstrates that these methods substantially reduce time from bio-\nfouling onset to detection.\n\nIn addition to the events described above, we have fairly extensive experience with\nthe online detectors since their initial deployment in the Spring of 2001. At this\nwriting we have bio-fouling detectors at all observing stations in the estuary and\nexperience with events throughout the year. Near the end of October, 2001 we\nexperienced a false alarm in a sensor near the surface in the lower estuary.\nIn\nthis case, a steady downward trend in surface salinity, caused by several days of\n\n\frain triggered a detector response. Following cessation of the precipitation, the\ndiscriminant function h returned back to sub-threshold levels.\n\nIn a recent (February 2003) study of (cid:12)ve sensor stations in the estuary we compared\ndata loss prior to the deployment of bio-fouling detectors, with data loss post-\ndeployment. The pre-deployment period included approximately four years of data\nfrom 1997 through the summer of 2001. The post-deployment period ran from\nspring/summer of 2001 through February 2003.\n\nNeglecting seasonal variation, prior to the deployment of our detectors, 68% of all\nthe sensor data was corrupted by bio-fouling. Following deployment, the rate of\ndata loss due to bio-fouling dropped to 35%. This is the actual data loss, and\nincludes delay in responding to the event detection. Were it economical to replace\nthe sensors immediately upon detection of bio-fouling, the data loss rate would have\nbeen dropped farther to 17%. Even with the delay in responding to event detection,\nthe detectors have more than doubled the amount of reliable data collected from the\nestuary.\n\n5 Discussion\n\nCORIE salinity sensors lose several months of data every year due to sensor bio-\nfouling. Developing discriminatory fault detectors for these sensors is hampered by\nthe variability of the bio-fouling time-signature, and the dearth of bio-fouling onset\nexample data for training. To solve this problem, we built parameterized novelty\ndetectors. Clean sensor models were developed based on archive data, while bio-\nfouled sensor models are given a simple parametric form that is (cid:12)t online. On-line\nbio-fouling detectors deployed during the summer of 2001 detected all episodes\nof sensor degradation several days before the (cid:12)eld sta(cid:11) without generating any\nfalse alarms. Expanded installation of a suite of detectors throughout the estuary\ncontinue to successfully detect bio-fouling with minimal false alarm intrusion. The\ndetector deployment has e(cid:11)ectively doubled the amount of clean data available from\nthe estuary salinity sensors.\n\nAcknowledgements\n\nWe thank members of the CORIE team, Arun Chawla and Charles Seaton, for\ntheir help in acquiring appropriate sensor data, Michael Wilkin for his assistance\nin labeling the sensor data, and Haiming Zheng for carrying forward the sensor\ndevelopment and deployment and providing the comparison of data loss rates before\nand after the detector deployment.. This work was supported by the National\nScience Foundation under grants ECS-9976452 and CCR-0082736.\nReferences\n\n[1] A. Baptista, M. Wilkin, P. Pearson, P. Turner, C. McCandlish, and P. Barrett. Costal\nand estuarine forecast systems: A multipurpose infrastructure for the Columbia river.\nEarth System Monitor, 9(3), 1999.\n\n[2] U.S. Army Corps of Engineers. Biological asssessment - Columbia river channel im-\n\nprovements project. Technical report, USACE Portland District, December 2001.\n\n[3] M. Basseville. Detecting changes in signals and systems - a survey. Automatica,\n\n24(3):309{326, 1988.\n\n[4] C. Archer, A. Baptista, and T.K. Leen. Fault detection for salinity sensors in the\n\nColumbia River Estuary. Water Resources Research, 39, 2003.\n\n\f", "award": [], "sourceid": 2508, "authors": [{"given_name": "Cynthia", "family_name": "Archer", "institution": null}, {"given_name": "Todd", "family_name": "Leen", "institution": null}, {"given_name": "Ant\u00f3nio", "family_name": "Baptista", "institution": null}]}