`L i6ddlZddlZddlmZddlmZmZmZm Z m Z m Z m Z m Z mZddlmZddlmZmZmZmZddlmZej0d \ZZedddfZej8\ZZd Zej@jCd d d gdZ"dZ#dZ$dZ%dZ&dZ'ej@jCdejPe gdZ)dZ*dZ+y)N)datasets) OASEmpiricalCovariance LedoitWolfShrunkCovarianceempirical_covariance ledoit_wolfledoit_wolf_shrinkageoasshrunk_covariance) _ledoit_wolf)assert_allcloseassert_almost_equalassert_array_almost_equalassert_array_equal)_oasT) return_X_ycrt}|jttt}t ||j dt |j|dt |j|ddt |j|ddt |j|ddt |j|ddtjt5|j|d ddd|jt}tj|dkDsJtdddfjd }t}|j|t t||j dt |jt|dt |jt|ddtjd jd d }t}d }tj t"|5|j|dddt |j tj$dtj&tj(dd gd dgg}tj(ddgddgg}t t||td}|jtt+|j,tj$tj.d y#1swY xYw#1swYxYw)Nrspectral)norm frobeniusF)scaling)squaredfoorBOnly one sample available. You may want to reshape your data arraymatchr r shapedtypeg?gпTassume_centered)rfitXrr covariance_r error_normpytestraisesNotImplementedError mahalanobisnpaminreshapearangewarns UserWarningzerosfloat64asarrayr location_r&)covemp_cov mahal_distX_1d X_1samplewarn_msg X_integerresults n/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sklearn/covariance/tests/test_covariance.pytest_covariancerE"sg  CGGAJ"1%Ggs:w/3wZ@!Dw[A1Ew>Bw>B * +, wU+,#J 77:  "" " QT7??7 #D  CGGDM248#//1M';D'ABAF';D'A SUVW ! $$Q*I  CSH k 2  coorxxfBJJ/WX QFQF+,I ZZ$ 6 7F29=vF d 3CGGAJs}}bhhqwwqz&:;A,,&s.L &L- L*-L6 n_matricesrcRd}tj||f}tjddgddgg}|dkDrVtj|tjdf|d}tj|tjdf|d}t |d}t ||y)z#Check `shrunk_covariance` function.rr?.raxisN)r2onesarrayrepeatnewaxisr r)rF n_featuresr< cov_target cov_shrunks rDtest_shrunk_covariance_funcrSQsJ '':z* +CAs8c1X./JA~iiBJJO,jqAYYz"**c/:JQO "3,JJ +ctd}|jttt t td|j dt}|jttt t t|j dtd}|jttt t|j dtdddfjd}td}|j|tt ||j dtdd }|jt|jJy) zECheck consistency between `ShrunkCovariance` and `shrunk_covariance`.rI shrinkagergNrrg333333?F)rWstore_precision) rr*r+rr rr,r4 precision_)r<r?s rDtest_shrunk_covariancerZas S )CGGAJ.q1SA3??TU  CGGAJ.q12COOQ S )CGGAJ215sJ QT7??7 #D S )CGGDM248#//1M S% @CGGAJ >> !! !rTc ttjdz }td}|j||j}|j |}t t|d|t t|dd|t|d\}}t||jdt ||jt|jd}|j|t|j|jdtdddfjd }td}|j|t|d\}}t||jdt ||jt|d zjtz |jdtd d }|j|t |j ||d|jJt}|jtt |j|dt |jttt |jttd t |jt!td dd t |j t|dtt\}}t||jdt ||jt|j}|jtt|j|jdtdddfjd }t}|j|t#|j%dt!|d ddt|\}}t||jdt ||jtt'||jdt)j*djd d}t}d} t-j.t0| 5|j|dddt|jt)j2dt(j4td }|jtt |j t|d|jJy#1swYxYw)NrrJTr()r) block_sizerrWr)rrFrXr)ri')r+r)r]rV)ddofr r!r"r$r%rX)r+meanrr* shrinkage_scorerr r rr,rr4sum n_samplesrYr rvarrr2r5r.r6r7r8r9) X_centeredlwrcscore_lw_cov_from_mlelw_shrinkage_from_mlescovr?r@rAs rDtest_ledoit_wolfrnsQVVV^#J D )BFF:J XXj !Fj$?j$1M .9D.*O*or~~qA-r}}= bmmT JDHHZd..B QT7??7 #D D )BFF4L-8t-T*O*or~~qA-r}}=tQwmmo 92>>1M E4 @BFF:,fa8 ==   BFF1I z15 '*O*or~~qA-r}}=248"..!L ! $$Q*I BSH k 2 ybnnbhhV2::.VW E *BFF1I VQ/ ==  s S99Tc|j\}}t|d}tj||z }|j }|j dd|dzxx|zcc<|dzj |z }|dz}d||zz tj tj|j||z |dzz z}t||} | |z } | S)NFr(rrg?) r&rr2tracecopyflatredotTmin) r+rfrPr=mudelta_deltaX2beta_betarWs rD_naive_ledoit_wolf_shrinkager|sGGIz"1e!"b(" QYOO  *E AB  ! # &&b!I- : ; < ue Du I rTctddddf}t}|j||j}t |t |y)Nr)r+rr*rcrr|)X_smallrircs rDtest_ledoit_wolf_smallrs>2A2hG BFF7OJ $@$IJrTcjtjjd}|jd}t dj |}t |jtjdd|j}t dj |}t |j|y)Nr) )sizer)r]r) r2random RandomStatenormalrr*rr,eye)rngr+rir<s rDtest_ledoit_wolf_largers ))   "C  !A r " & &q )Br A6 ..C r " & &q )B,rTledoit_wolf_fitting_functionctjd}tjtd5||dddy#1swYyxYw)zDCheck that we validate X and raise proper error with 0-sample array.)rrzFound array with 0 sampler"N)r2r8r.r/ ValueError)rX_emptys rDtest_ledoit_wolf_empty_arrayrs> hhvG z)D E.$W-...s AA c ttjdz }td}|j||j}|j |}t |d\}}t||jdt||jt|jd}|j|t|j|jdtddddf}td}|j|t |d\}}t||jdt||jt|dzjtz |jdtd d }|j|t|j ||d|jJt}|jtt|j|dt|j t|dt t\}}t||jdt||jt|j }|jtt|j|jdtdddfjd }t}|j|t |\}}t||jdt||jtt||jdt!j"d jdd }t}d} t%j&t(| 5|j|dddt|jt!j*dt j,td }|jtt|j t|d|jJtddddf} t}|j| t/| \} } t| |jdt| |jt| dzjtz |jdy#1swY'xYw)NrrJTr(rr^rrFr_rVrr r!r"r$r%ra)r+rbrr*rcrdr rr,rrrerfrYr4rr2r5r.r6r7r8r9r) rhoarcrjoa_cov_from_mleoa_shrinkage_from_mlermr?r@rAX_1f_oa_cov_from_mle_oa_shrinkage_from_mles rDtest_oasrsQVVV^#J T "BFF:J XXj !F-0T-R*O*or~~qA-r}}= bmmT JDHHZd..B Q!V9D T "BFF4L-0t-L*O*or~~qA-r}}=tQwmmo 92>>1M UD 9BFF:,fa8 ==   BFF1I z15 VQ/-0V*O*or~~qA-r}}= bmm 4DHHQKd..B QT7??7 #D BFF4L-0Y*O*or~~qA-r}}=248"..!L ! $$Q*I BSH k 2 ybnnbhhV2::.VW U #BFF1I VQ/ ==   Q!V9D BFF4L/3Dz,,.B. >tQwmmo 92>>1M's =R44R>ctjt}dtjdd}t j t |5|jtddddfdddy#1swYyxYw)z@Checks that EmpiricalCovariance validates data with mahalanobis.z'X has 2 features, but \w+ is expecting rz features as inputr"Nr)rr*r+r&r.r/rr1)r<msgs rD.test_EmpiricalCovariance_validates_mahalanobisrpsg   # #A &C 4QWWQZL@R SC z -" !RaR%!"""s A88B),numpyr2r.sklearnrsklearn.covariancerrrrrr r r r %sklearn.covariance._shrunk_covariancer sklearn.utils._testingrrrr_shrunk_covariancer load_diabetesr+_r?r&rfrPrEmark parametrizerSrZrnr|rrr*rrrrTrDrs    ?&x.1Aw :,<^1v. ,/ , "FZ!z2K -"Z\%5%57L$M..PNf"rT