Changeset a106e90 in tol
- Timestamp:
- Nov 17, 2008, 9:11:08 AM (18 years ago)
- Branches:
- 1941-docker-image-to-test, devel, master
- Children:
- 53ceb48
- Parents:
- 67807695
- Location:
- tol/bmath/bstat
- Files:
-
- 2 edited
-
stat.cpp (modified) (1 diff)
-
tol_bstat.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
tol/bmath/bstat/stat.cpp
r67807695 ra106e90 383 383 } 384 384 return(result); 385 } 386 387 //-------------------------------------------------------------------- 388 void Quantile(const BArray<BDat>& vec, 389 const BArray<BDat>& r, 390 BArray<BDat>& Qu) 391 392 /*! Returns a set of q-Quantile statistics of a vector of real numbers 393 */ 394 //-------------------------------------------------------------------- 395 { 396 Qu.AllocBuffer(0); 397 if(!vec.Size()) { return; } 398 BArray<BDat> sorted(vec.Size()); 399 int i, j; 400 for(i=j=0; i<vec.Size(); i++) 401 { 402 if(vec(i).IsKnown()) 403 { 404 sorted(j++) = vec(i); 405 } 406 } 407 sorted.ReallocBuffer(j); 408 sorted.Sort(DatCmp); 409 Qu.AllocBuffer(r.Size()); 410 int k; 411 for(k=0; k<r.Size(); k++) 412 { 413 BDat q = r[k]; 414 if(q>1) { q = 1; } 415 if(q<0) { q = 0; } 416 BDat p = 1-q; 417 BDat Q = (1.0/q).Value(); 418 BDat n = BDat(sorted.Size()-1)/BDat(Q); 419 BDat result; 420 if(n.IsInteger()) 421 { 422 Qu[k] = sorted(int(n.Value())); 423 } 424 else 425 { 426 BInt nq = (BInt)Ceil (n).Value(); 427 BInt np = (BInt)Floor(n).Value(); 428 BDat sq = sorted(nq); 429 BDat sp = sorted(np); 430 Qu[k] = (q*sq)+(p*sp); 431 } 432 } 385 433 } 386 434 -
tol/bmath/bstat/tol_bstat.h
r67807695 ra106e90 33 33 const BArray<BDat>& vec); 34 34 35 TOL_API BDat Sum (const BArray<BDat>& vec);36 TOL_API BDat Product (const BArray<BDat>& vec);37 TOL_API BDat Average (const BArray<BDat>& vec);38 TOL_API BDat HarmonicAverage (const BArray<BDat>& vec);39 TOL_API BDat GeometricAverage (const BArray<BDat>& vec);40 TOL_API BDat Moment (const BArray<BDat>& vec, BInt m);41 TOL_API BDat CenterMoment (const BArray<BDat>& vec, BInt m);42 TOL_API BDat Varianze (const BArray<BDat>& vec);43 TOL_API BDat StandardDeviation (const BArray<BDat>& vec);35 TOL_API BDat Sum (const BArray<BDat>& vec); 36 TOL_API BDat Product (const BArray<BDat>& vec); 37 TOL_API BDat Average (const BArray<BDat>& vec); 38 TOL_API BDat HarmonicAverage (const BArray<BDat>& vec); 39 TOL_API BDat GeometricAverage (const BArray<BDat>& vec); 40 TOL_API BDat Moment (const BArray<BDat>& vec, BInt m); 41 TOL_API BDat CenterMoment (const BArray<BDat>& vec, BInt m); 42 TOL_API BDat Varianze (const BArray<BDat>& vec); 43 TOL_API BDat StandardDeviation (const BArray<BDat>& vec); 44 44 TOL_API BDat AsymmetryCoefficient (const BArray<BDat>& vec); 45 TOL_API BDat Kurtosis (const BArray<BDat>& vec); 46 TOL_API BDat Maximum (const BArray<BDat>& vec); 47 TOL_API BDat Minimum (const BArray<BDat>& vec); 48 TOL_API BDat Quantile (const BArray<BDat>& vec, BDat q); 49 TOL_API BDat Median (const BArray<BDat>& vec); 50 51 TOL_API BDat Covarianze (const BArray<BDat>& v1, 52 const BArray<BDat>& v2); 53 TOL_API BDat Correlation (const BArray<BDat>& v1, 54 const BArray<BDat>& v2); 55 56 TOL_API void Covarianze (const BMatrix<BDat>& data, 57 BSymMatrix<BDat>& cor); 58 TOL_API void Correlation (const BMatrix<BDat>& data, 59 BSymMatrix<BDat>& cor); 60 TOL_API void PartialCorrelation (const BMatrix<BDat>& data, 61 BSymMatrix<BDat>& pcor); 62 TOL_API void CorrelationF (const BSymMatrix<BDat>& cov, 63 BSymMatrix<BDat>& cor); 64 TOL_API void PartialCorrelationF (const BSymMatrix<BDat>& cor, 65 BSymMatrix<BDat>& pcor); 66 TOL_API void RegressionCoef (const BSymMatrix<BDat>& cov, 67 const BSymMatrix<BDat>& pcor, 68 BMatrix<BDat>& regr); 69 70 TOL_API BDat PearsonCoefficient (const BArray<BDat>& v1, 71 const BArray<BDat>& v2); 72 73 TOL_API BDat R2Coefficient (const BArray<BDat>& v1, const BArray<BDat>& v2); 74 75 TOL_API void AutoCov (const BArray<BDat>& vec, BArray<BDat>& cov, BInt order, 76 BInt demean=0); 77 78 TOL_API void AutoCor (const BArray<BDat>& vec, BArray<BDat>& cor, BInt order, 79 BInt demean=0); 80 81 TOL_API void DurbinAutoReg (const BArray<BDat>& r, BMatrix<BDat>& FI); 82 83 TOL_API void PartAutoCor (const BArray<BDat>& cor, BArray<BDat>& p); 84 TOL_API void InverseAutoCor(const BArray<BDat>& cor, BArray<BDat>& p); 85 TOL_API void InvPartAutoCor(const BArray<BDat>& cor, BArray<BDat>& p); 86 TOL_API BDat BoxPierceLjung(const BArray<BDat>& vec, 87 BInt m, BInt p, BInt q); 45 TOL_API BDat Kurtosis (const BArray<BDat>& vec); 46 TOL_API BDat Maximum (const BArray<BDat>& vec); 47 TOL_API BDat Minimum (const BArray<BDat>& vec); 48 TOL_API BDat Quantile (const BArray<BDat>& vec, BDat q); 49 TOL_API void Quantile (const BArray<BDat>& vec, 50 const BArray<BDat>& r, 51 BArray<BDat>& Qu); 52 TOL_API BDat Median (const BArray<BDat>& vec); 53 TOL_API BDat Covarianze (const BArray<BDat>& v1, 54 const BArray<BDat>& v2); 55 TOL_API BDat Correlation (const BArray<BDat>& v1, 56 const BArray<BDat>& v2); 57 TOL_API void Covarianze (const BMatrix<BDat>& data, 58 BSymMatrix<BDat>& cor); 59 TOL_API void Correlation (const BMatrix<BDat>& data, 60 BSymMatrix<BDat>& cor); 61 TOL_API void PartialCorrelation (const BMatrix<BDat>& data, 62 BSymMatrix<BDat>& pcor); 63 TOL_API void CorrelationF (const BSymMatrix<BDat>& cov, 64 BSymMatrix<BDat>& cor); 65 TOL_API void PartialCorrelationF (const BSymMatrix<BDat>& cor, 66 BSymMatrix<BDat>& pcor); 67 TOL_API void RegressionCoef (const BSymMatrix<BDat>& cov, 68 const BSymMatrix<BDat>& pcor, 69 BMatrix<BDat>& regr); 70 TOL_API BDat PearsonCoefficient (const BArray<BDat>& v1, 71 const BArray<BDat>& v2); 72 TOL_API BDat R2Coefficient (const BArray<BDat>& v1, 73 const BArray<BDat>& v2); 74 TOL_API void AutoCov (const BArray<BDat>& vec, 75 BArray<BDat>& cov, 76 BInt order, 77 BInt demean=0); 78 TOL_API void AutoCor (const BArray<BDat>& vec, 79 BArray<BDat>& cor, 80 BInt order, 81 BInt demean=0); 82 TOL_API void DurbinAutoReg (const BArray<BDat>& r, 83 BMatrix<BDat>& FI); 84 TOL_API void PartAutoCor (const BArray<BDat>& cor, 85 BArray<BDat>& p); 86 TOL_API void InverseAutoCor (const BArray<BDat>& cor, 87 BArray<BDat>& p); 88 TOL_API void InvPartAutoCor (const BArray<BDat>& cor, 89 BArray<BDat>& p); 90 TOL_API BDat BoxPierceLjung (const BArray<BDat>& vec, 91 BInt m, BInt p, BInt q); 88 92 89 93 //! To obtine the exponent of the best Box-Cox exponential transformation of a
Note: See TracChangeset
for help on using the changeset viewer.
