Modell választás funkcióval rendelkező ingyenes statisztikai szoftvert keresek a legjobb többváltozós lineáris modell megtalálásához, milyen programok léteznek?
Az R nyelven alapuló RCommandert használom, ebben van lépésenkénti modell választás funkció BIC, vagy AIC kritériumok alkalmazásával. A gondom, hogy csak viszonylag kevés paramétert tud kezelni. Nekem kb. 100 paraméter közül kellene egy max. 4-5 paraméteres modellt találnom.
Leginkább grafikus felülettel rendelkező programokat keresnék. Köszönöm a válaszokat és a segítséget!
(A témakör: [link] )
1.: Én éppen ezt a könyvet böngészem.: Molecular Descriptors for Chemoinformatics, Volumes I & II, Roberto Todeschini, Viviana Consonni, WILEY-VCH.
Itt így hivatkozzák a fenti témakört és röviden összefoglalnak pár a könyv területén alkalmazott módszert.: "Variable Selection (VS) (Feature Selection, Variable Subset Selection, VSS)"
Az RCommander program a "stepwise regression methods (SWR)" módszert tudja ("backward/forward", "forward/backward", "backward", "forward" módokon).
Több módszer is fel van sorolva ezen kívül.:
"all possible models, response-variable correlation cutoff, Genetic Algorithm–Variable Subset Selection (GA–VSS), Genetic Function Approximation (GFA), MUtation and SElection Uncover Models (MUSEUM), sequential search, Cluster Significance Analysis (CSA)"
Ez mind szép, de olvastam, hogy a fizetős SAS/STAT(R)-ben van is implementálva több.: [link]
Kérdés ingyenes programokba vannak-e valahol hasonló algoritmusok implementálva könnyen használható módon?
Sajnos nem tudok segíteni, nem ismerek erre alkalmas ingyenes kattintgatós programokat.
Ha az ember tud programozni egy kicsit, egy SWR-t vagy egy genetikus kiválasztási módszert ma már 10 sorban meg tud írni, mert minden építőkockát készen megkap, zseniális, nagyon egyszerűen használható modulok léteznek. És persze teljes flexibilitást ad, ha valamiben el kéne térned a sztenderd módszerektől.
De ez sose népszerű válasz, mert nem instant megoldás.
Pythonban meg lehet oldani?
(A programozás szórakoztató is.)
Simán, sőt, én is azt választanám. A scikit-learn nevű modult ajánlom, a dokumentációja is szuper.
Belinkeltem a stepwise regression építőkockáját. Numpy mátrixokkal vagy pandas DataFrame-ekkel és Series-ekkel tudod etetni. N=2,3,4,5,6-ra lefuttatod, de mindig keresztvalidálva, tehát az omp.fit() és omp.score() metódusokat független részhalmazokon csinálod vetésforgóban, és átlagolod a score-okat. Majd kiválasztod azt az N-et, ahol az átlagos R2 már számodra elfogadható. Ha te nagyon fixen 4-5-ben gondolkozol, akkor sokat nem válogathatsz, de legalább látod hogy milyen lenne a modelled teljesítménye kevesebb és több paraméterrel.
Kiválasztod a végső N-et, modellt illesztesz a teljes adathalmazra, és kiolvasod az együtthatókat. Itt már nem illik R2-t számolni: a keresztvalidáláskor kapott átlagos R2 a modelled teljesítménye.
A keresztvalidáláshoz mindent készen kapsz: [link]
Nem tudom, hogy az adatpontjaid korreláltak-e, vagy valami szerint rendezve vannak-e, mindenesetre valószínűleg nem árt a KFold-ban a shuffle-t bekapcsolni.
5.: Köszönöm szépen ez nagyon hasznos válasz!
Én, miközben keresgéltem ezt találtam.: PyMC3
Az oldal, amit te linkeltél sokkal jobbnak tűnik, megpróbálok majd az alapján elindulni.
Elvileg az én problémámra van ingyenes szoftver is, pl. az McQSAR program (természetesen ez nem univerzális, mint Python-ban dolgozni).:
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!