බහුවිධ ප්‍රතිග්‍රහණයක් සිදු කරන විට, ඔබ ඔබේ පුරෝකථන විචල්‍යයන් කේන්ද්‍රගත කළ යුත්තේ කවදාද සහ ඒවා ප්‍රමිතිගත කළ යුත්තේ කවදාද?


312

සමහර සාහිත්‍යයෙහි, විවිධ ඒකකවල නම්, විවිධ පැහැදිලි කිරීමේ විචල්‍යයන් සහිත ප්‍රතිගාමීත්වයක් ප්‍රමිතිකරණය කළ යුතු බව මම කියවා ඇත්තෙමි. (ප්‍රමිතිකරණය යනු මධ්‍යන්‍යය අඩු කිරීම සහ සම්මත අපගමනය අනුව බෙදීමයි.) මගේ දත්ත ප්‍රමිතිකරණය කිරීමට අවශ්‍ය වෙනත් අවස්ථා මොනවාද? මගේ දත්ත පමණක් කේන්ද්‍රගත කළ යුතු අවස්ථා තිබේද (එනම්, සම්මත අපගමනයෙන් බෙදීමකින් තොරව)?


13
ඇන්ඩ rew ගෙල්මන්ගේ බ්ලොග් අඩවියේ අදාළ සටහනක් .

37
දැනටමත් ලබා දී ඇති විශිෂ්ට පිළිතුරු වලට අමතරව, රිජ් රෙග්‍රේෂන් හෝ ලැසෝ වැනි ද penal ුවම් ක්‍රම භාවිතා කරන විට ප්‍රති result ලය ප්‍රමිතිකරණයට වෙනස් නොවන බව සඳහන් කරමි. කෙසේ වෙතත්, එය බොහෝ විට ප්‍රමිතිකරණය කිරීම රෙකමදාරු කරනු ලැබේ. මෙම අවස්ථාවේ දී අර්ථ නිරූපණයන්ට සෘජුවම සම්බන්ධ වූ හේතු නිසා නොව, ද penal ුවම් කිරීම පසුව විවිධ පැහැදිලි කිරීමේ විචල්‍යයන්ට වඩා සමාන පදනමක් මත සලකනු ඇත.
NRH

7
Atmathieu_r වෙබ් අඩවියට සාදරයෙන් පිළිගනිමු! ඔබ ඉතා ජනප්‍රිය ප්‍රශ්න දෙකක් පළ කර ඇත. කරුණාකර ප්‍රශ්න දෙකටම ඔබට ලැබී ඇති විශිෂ්ට පිළිතුරු කිහිපයක් පිළිගැනීම / පිළිගැනීම;)
මැක්‍රෝ


1
මම මෙම ප්රශ්න හා පිළිතුරු කියවන විට එය වසර ගණනාවකට පෙර මම පැකිලී ගිය පරිශීලක වෙබ් අඩවියක් ගැන මතක් කර දුන්නා faqs.org/faqs/ai-faq/neural-nets/part2/section-16.html මෙය සරල වචන වලින් සමහර ගැටළු සහ සලකා බැලීම් ලබා දෙයි යමෙකුට දත්ත සාමාන්‍යකරණය කිරීමට / ප්‍රමිතිකරණය කිරීමට / නැවත සකස් කිරීමට අවශ්‍ය වූ විට. මෙහි පිළිතුරු වල එය කොතැනකවත් සඳහන් වී ඇති බවක් මා දුටුවේ නැත. එය යන්ත්‍ර ඉගෙනීමේ දෘෂ්ටිකෝණයකින් විෂයයට සලකයි, නමුත් එය මෙහි පැමිණෙන කෙනෙකුට උපකාරී වේ.
පෝල්

Answers:


233

අවගමනය දී, එය බොහෝ විට කිරීම රෙකමදාරු කරනු ලැබේ මධ්යස්ථානය මෙම predictors අදහස් ඇති බව එසේ විචල්යයන් 0 . අනාවැකි අගයන් ඒවායේ මාධ්‍යයට සකසා ඇති විට අන්තර්වාර්‍ග පදය Y i හි අපේක්ෂිත අගයYi ලෙස අර්ථ දැක්වේ . එසේ නොමැති නම්, අනාවැකි 0 ලෙස සකසා ඇති විට අන්තර්ග්‍රහණය Yi හි අපේක්ෂිත අගය ලෙස අර්ථ දැක්වේ , එය යථාර්ථවාදී හෝ අර්ථ නිරූපණය කළ හැකි තත්වයක් නොවිය හැකිය (උදා: අනාවැකි කියන්නන් උස හා බර නම් කුමක් ද?). සඳහා තවත් ප්රායෝගික හේතුව දැමීමක් සිදු එක් විචල්ය ඔබ ප්රබල ලෙස රටේ ජනගහනයෙන් ප්රමාණය භාවිතා කරන නම් උදා, ඉතා විශාල පරිමාණ ඇති විට අවගමනය වේ. එවැනි අවස්ථාවක, ප්‍රතිගාමී සංගුණක aවිශාල ප්‍රමාණයේ අනුපිළිවෙලක් (උදා: 106 ) ඔබ පරිගණක ප්‍රතිදානය කියවන විට එය ටිකක් කරදරයක් විය හැකිය, එබැවින් ඔබට විචල්‍යය මිලියන ගණනක ජනගහණ ප්‍රමාණයට පරිවර්තනය කළ හැකිය. ඔබ අනාවැකි ප්‍රමිතිකරණය කරන සම්මුතිය මූලික වශයෙන් පවතින බැවින් ප්‍රතිගාමී සංගුණකවල ඒකක සමාන වේ.

Ung ගුන්ග් සහ @ MånsT පැහැදිලිව පෙන්වන පරිදි (+1 දෙකටම, btw), කේන්ද්‍රගත කිරීම / පරිමාණය කිරීම ප්‍රතිගාමී ආකෘති පිළිබඳ ඔබේ සංඛ්‍යානමය අනුමානයට බලපාන්නේ නැත - ඇස්තමේන්තු නිසි පරිදි සකසා ඇති අතර p අගයන් සමාන වේ.

කේන්ද්‍රගත කිරීම සහ / හෝ පරිමාණය කිරීම ප්‍රයෝජනවත් විය හැකි වෙනත් අවස්ථා:

  • ඔබ විවිධ පරිමාණයන්හි විචල්‍යයන් ගණනය කිරීමට හෝ සාමාන්‍ය කිරීමට උත්සාහ කරන විට, සමහර විට යම් ආකාරයක සංයුක්ත ලකුණු නිර්මාණය කිරීමට. පරිමාණයෙන් තොරව, එක් විචල්‍යයක් එහි පරිමාණයට පමණක් ගෙවිය යුතු මුදලට විශාල බලපෑමක් ඇති කරයි, එය නුසුදුසු විය හැකිය.

  • ගණනය කිරීම් සහ අංකනය සරල කිරීම සඳහා. නිදසුනක් ලෙස, ඒවායේ නියැදි මාධ්‍යයන් කේන්ද්‍ර කර ගත් අගයන්ගේ අනුකෘතියක නියැදි සහසංයුජ අනුකෘතිය හුදෙක් XX වේ. ඒ හා සමානව, ඒකීය සසම්භාවී විචල්‍ය X මධ්‍යන්‍ය කේන්ද්‍රගත වී ඇත්නම්, var(X)=E(X2) සහ විචල්‍යතාව නිරීක්ෂණය කරන ලද අගයන්හි වර්ගවල නියැදි මධ්‍යන්‍යය දෙස බැලීමෙන් නියැදියකින් තක්සේරු කළ හැකිය.

  • ඉහත සඳහන් කළ, PCA අර්ථ දැක්විය හැක්කේ දත්ත න්‍යාසයක ඒකීය අගය වියෝජනය ලෙස ය.

මම සඳහන් පසුගිය දෙකක් වැදගත් කරුණු සහ කේන්ද්ර නීර්ණය කිරීමද අවශ්ය නොවන බව සටහන මැයි මා සඳහන් පළමු වෙඩි අවශ්ය නැති ද, ඒ නිසා ඒ දෙක සෑම විටම අතින් සහ අතින් යන්න අවශ්ය නැහැ.


2
+1, මේවා මම නොසිතූ හොඳ කරුණු ය. පැහැදිලිකම සඳහා, ප්‍රතිගාමීතාවයක් ක්‍රියාත්මක කිරීමට පෙර පැහැදිලි කළ හැකි විචල්‍යයන් ඒකාබද්ධ කිරීමට පර්යේෂකයෙකුට අවශ්‍ය විය හැකි නිශ්චිත උදාහරණ කිහිපයක් ලැයිස්තුගත කිරීමට මට ඉඩ දෙන්න. ළමුන්ගේ චර්යාත්මක ආබාධ පිළිබඳ පර්යේෂණ සඳහා එක් අවස්ථාවක් විය හැකිය; පර්යේෂකයන්ට දෙමව්පියන්ගෙන් සහ ගුරුවරුන්ගෙන් ශ්‍රේණිගත කිරීම් ලබා ගත හැකි අතර, පසුව ඒවා තනි අක්‍රමිකතාවයකට ඒකාබද්ධ කිරීමට අවශ්‍ය වේ. තවත් කරුණක් නම්, සාත්තු නිවාසයක ක්‍රියාකාරකම් මට්ටම පිළිබඳ අධ්‍යයනයක් / නිවැසියන් විසින් ස්වයං ශ්‍රේණිගත කිරීම් සහ ක්‍රියාකාරකම් සඳහා ලියාපදිංචි වීමේ පත්‍රිකා වල අත්සන් ගණන.
gung - මොනිකා නැවත

2
නමුත් අපි න්‍යායිකව ජනගහනයේ මධ්‍යන්‍යය සහ සම්මත අපගමනය කේන්ද්‍රගත කිරීම / පරිමාණය කිරීම සඳහා භාවිතා කළ යුතු නොවේද? ප්රායෝගිකව, නියැදි මධ්යන්ය / එස්ඩී භාවිතා කිරීම තරම් සරලද? නැතහොත් ඊට වැඩි යමක් තිබේද?
ඇලෙෆ්සින්

3
සම්පූර්ණත්වය වෙනුවෙන්, මට මේ ලස්සන පිළිතුර එකතු බව ඉඩ වන කේන්ද්ර හා සම්මත කිරීම X සහසම්බන්ධතාව න්යාසය වේ. XXX
cbeleites SX

1
LeAlefSin: ඔබට ඇත්ත වශයෙන්ම ජනගහනයේ අර්ථය / sd හැර වෙනත් දෙයක් භාවිතා කිරීමට අවශ්‍ය විය හැකිය, මගේ පිළිතුර බලන්න. නමුත් කේන්ද්‍රගත කිරීම / පරිමාණය කිරීම සඳහා කුමක් භාවිතා කළ යුතුදැයි අප සිතිය යුතුය යන ඔබේ අදහස ඉතා හොඳයි.
SX

LeAlefSin, මගේ සියලු අදහස් දැක්වූයේ ඔබ නියැදි මධ්යන්ය / SD භාවිතා කරන බව උපකල්පනය කරමිනි. ඔබ නියැදිය කේන්ද්‍රගත කරන්නේ නම් , අනාවැකි කරුවන්ගේ නියැදි මාධ්‍යයන් සකසා ඇති විට එය හි අපේක්ෂිත අගය හැර, අන්තර්ග්‍රහණයේ අර්ථ නිරූපණය තවමත් සමාන වේ. නියැදි ප්‍රමාණ අනුව ඔබ කේන්ද්‍රගත / පරිමාණය කරන විට මගේ වෙඩි නොවදින ස්ථාන තුනේ තොරතුරු තවමත් අදාළ වේ. ඔබ නියැදි මධ්‍යන්‍යයෙන් කේන්ද්‍රගත කරන්නේ නම්, ප්‍රති result ලය මධ්යන්ය 0 සහිත විචල්යයක් වන නමුත් නියැදි සම්මත අපගමනය මගින් පරිමාණය කිරීම සාමාන්යයෙන් සම්මත අපගමනය 1 (උදා: ටී-සංඛ්යානමය) සමඟ ප්රති result ලයක් ලබා නොදෙන බව ද සඳහන් කිරීම වටී. Yi
මැක්‍රෝ

157

ඔබ පොදු විශ්වාසයක් සොයාගෙන ඇත. කෙසේ වෙතත්, පොදුවේ, බහු ප්‍රතිගාමීත්වය සඳහා ඔබේ දත්ත කේන්ද්‍රගත කිරීම හෝ ප්‍රමිතිකරණය කිරීම අවශ්‍ය නොවේ. විවිධ පැහැදිලි කිරීමේ විචල්‍යයන් සෑම විටම පාහේ විවිධ පරිමාණයන්හි පවතී (එනම්, විවිධ ඒකක වලින් මනිනු ලැබේ). මෙය ගැටළුවක් නොවේ; බීටා ඇස්තමේන්තු කර ඇති අතර එමඟින් එක් එක් පැහැදිලි කිරීමේ විචල්‍යයේ ඒකක නිසි පරිදි ප්‍රතිචාර විචල්‍යයේ ඒකක බවට පරිවර්තනය කරයි. මිනිසුන් සමහර විට පවසන එක් දෙයක් නම්, ඔබ මුලින් ඔබේ විචල්‍යයන් ප්‍රමිතිකරණය කර ඇත්නම්, ඔබට බීටා වැදගත් මිනුම් ලෙස අර්ථ දැක්විය හැකිය. උදාහරණයක් ලෙස, , සහ β 2 = නම්β1=.6β2=.3, එවිට පළමු පැහැදිලි කිරීමේ විචල්‍යය දෙවැන්න මෙන් දෙගුණයක් වැදගත් වේ. අවාසනාවකට මෙන් මෙම අදහස සිත් ඇදගන්නා සුළු වුවත් එය වලංගු නොවේ. ගැටළු කිහිපයක් ඇත, නමුත් සමහර විට අනුගමනය කිරීමට පහසුම දෙය නම් විචල්‍යයන්හි ඇති විය හැකි පරාස සීමා කිරීම් පාලනය කිරීමට ඔබට ක්‍රමයක් නොමැති වීමයි. එකිනෙකට සාපේක්ෂව විවිධ පැහැදිලි කිරීමේ විචල්‍යයන්ගේ 'වැදගත්කම' සඳහන් කිරීම ඉතා උපක්‍රමශීලී දාර්ශනික කාරණයකි. ප්‍රමිතිකරණය නරක හෝ වැරදි යැයි යෝජනා කිරීම ඒ කිසිවක් නොවේ , එය සාමාන්‍යයෙන් අවශ්‍ය නොවේ .

මගේ හිස මුදුනේ සිට කේන්ද්‍රගත වීම ප්‍රයෝජනවත් යැයි සිතිය හැකි එකම අවස්ථාව වන්නේ බල නියමයන් නිර්මාණය කිරීමට පෙරය. ඔබට 1 සිට 2 දක්වා පරාසයක විචල්‍ය ඇති බව කියමු , නමුත් ප්‍රතිචාර විචල්‍යය සමඟ වක්‍රාකාර සම්බන්ධතාවයක් ඔබ සැක කරයි, එබැවින් ඔබට X 2 යෙදුමක් නිර්මාණය කිරීමට අවශ්‍යය . ඔබ මුලින් X කේන්ද්‍රගත නොකරන්නේ නම් , ඔබේ වර්ග පදය X සමඟ බෙහෙවින් සහසම්බන්ධ වනු ඇත , එමඟින් බීටා තක්සේරු කිරීම මඩ විය හැකිය. පළමුව කේන්ද්‍රගත කිරීම මෙම ගැටළුව විසඳයි . XX2XX


(යාවත්කාලීනය බොහෝ කලකට පසුව එකතු කරන ලදි :) මට සඳහන් කිරීමට අමතක වූ ප්‍රතිසමයක් වන්නේ අන්තර්ක්‍රියා පද නිර්මාණය කිරීමයි . 0 මත කේන්ද්‍රගත නොවන විචල්‍යයන් දෙකකින් අන්තර්ක්‍රියා / නිෂ්පාදන යෙදුමක් නිර්මාණය කරන්නේ නම්, යම් සහසම්බන්ධතාවයක් ඇති වේ (විවිධ සාධක මත පදනම්ව නිශ්චිත ප්‍රමාණය සමඟ). පළමුව කේන්ද්‍රගත කිරීම මෙම විභව ගැටලුවට ආමන්ත්‍රණය කරයි. සම්පූර්ණ පැහැදිලි කිරීමක් සඳහා, ff ඇෆයින්: කොලීනියරිටි ඩයග්නොස්ටික්ස් වෙතින් මෙම විශිෂ්ට පිළිතුර බලන්න අන්තර්ක්‍රියාකාරී පදය ඇතුළත් වූ විට පමණි .


14
යමෙකු උනන්දුවක් දක්වන්නේ නම්, මෙහි සාපේක්ෂ 'වැදගත්කම' අනුමාන කිරීම සඳහා ප්‍රමිතිගත බීටා භාවිතා කිරීමේ වැරදි අදහස ගැන ද මම කතා කරමි: උපකල්පිත-පරීක්ෂණ සඳහා බහු රේඛීය-ප්‍රතිගාමී
ගුන්ග් - මොනිකා නැවත

6
බෙල්ස්ලි, කුහ් සහ වෙල්ෂ් 1980 දී ඔවුන්ගේ ප්‍රතිගාමී රෝග විනිශ්චය පොතේ මෙම තත්වය පිළිබඳව කල්පනාකාරී විශ්ලේෂණයක් කර ඇත . (විස්තර සඳහා උපග්‍රන්ථය 3 බී බලන්න.) ඔවුන් නිගමනය කරන්නේ මුදවා ගැනීම උදව් නොවන බව ඔබ වැරදියි. ඔවුන්ගේ විශ්ලේෂණය විසඳුම් ක්‍රියාපටිපාටියේ සංඛ්‍යාත්මක ස්ථායිතාව අනුව වන අතර එය දත්ත න්‍යාසයේ හි කොන්දේසි අංකය අනුව මනිනු ලැබේ . අසමාන පරාසයන් සහිත පරිමාණයන්හි විචල්‍යයන් මනින විට එම කොන්දේසි අංකය ඉතා ඉහළ විය හැකිය. නැවත යථා තත්ත්වයට පත් කිරීම පරිමාණයේ සාධක තුළ X හි ඇති බොහෝ "නරක" අවශෝෂණය කරයි. එහි ප්‍රති problem ලයක් වශයෙන් ඇති වන ගැටළුව වඩා හොඳ තත්වයට පත්වේ. XX
whuber

බීටා 1 = 0.6 සහ බීටා 2 = 0.3 ගැන, බීටා 1 කීම බීටා 2 මෙන් දෙගුණයක් වැදගත් දැයි මට විශ්වාස නැත, නමුත් මම සිතුවේ ඒවා ප්‍රමිතිගත බැවින් ඒවා එකම 'පරිමාණයක' පවතින බවයි, එනම් ඒකක සම්මත අපගමනයන් ය මධ්යන්යයෙන්. බීටා 2 (x1 නියතය රඳවා තබා ගැනීම) ට වඩා බීටා 1 (x2 නියතය රඳවා තබා ගැනීම) සඳහා Y හි ප්‍රතිචාරය දෙගුණයක් වනු ඇත. හරිද? නැත්නම් මම මඟදී යමක් වරදවා වටහාගෙන තිබේද?
chao

@chao, ඔබ විචල්‍ය 2 ට ආවේනික වූ ඒකක ඉවත් කර නැත; ඔබ ඒවා සඟවා ඇත. දැන්, X1 හි ඒකක සෙන්ටිමීටර 13.9 කට ද, X2 ඒකක සෙල්සියස් අංශක 2.3 කට ද වේ.
gung - මොනිකා නැවත

Lme4 වැනි සමහර ප්‍රතිගාමී පුස්තකාල මඟින් අභිසාරීතා ගැටලු ඇති විට විචල්‍යයන් ස්ථාවර කිරීමට ඔබෙන් ඉල්ලා සිටී.
ස්කෑන්

84

අනෙක් පිළිතුරු වල සටහන් වලට අමතරව, පැහැදිලි කිරීමේ විචල්‍යයන්ගේ පරිමාණය සහ පිහිටීම කිසිදු ආකාරයකින් ප්‍රතිගාමී ආකෘතියේ වලංගු භාවයට බලපාන්නේ නැති බව පෙන්වා දීමට කැමැත්තෙමි .

ආදර්ශ සලකා බලන්න .y=β0+β1x1+β2x2++ϵ

β1,β2,x1,x2,β0

x1aβ^11/a

β^1(x1)=i=1n(x1,ix¯1)(yiy¯)i=1n(x1,ix¯1)2.

Thus

β^1(ax1)=i=1n(ax1,iax¯1)(yiy¯)i=1n(ax1,iax¯1)2=ai=1n(x1,ix¯1)(yiy¯)a2i=1n(x1,ix¯1)2=β^1(x1)a.

By looking at the corresponding formula for β^2 (for instance) it is (hopefully) clear that this scaling doesn't affect the estimators of the other slopes.

Thus, scaling simply corresponds to scaling the corresponding slopes.

As gung points out, some people like to rescale by the standard deviation in hopes that they will be able to interpret how "important" the different variables are. While this practice can be questioned, it can be noted that this corresponds to choosing ai=1/si in the above computations, where si is the standard deviation of x1 (which in a strange thing to say to begin with, since the xi are assumed to be deterministic).


1
ඉතා නොගැලපෙන විචල්‍යයන් ස්ථාවර කිරීම හොඳ අදහසක් ද නැතිනම් සමමිතිකව බෙදා හරින ලද විචල්‍යයන් ප්‍රමිතිකරණය කිරීම වඩා හොඳ ද? අප ආදාන විචල්‍යයන් හෝ ප්‍රති come ල පමණක් තරණය කළ යුතුද?
ස්කෑන්

34

ඔබේ ආකෘතියට සරිලන සේ ඔබ ශ්‍රේණියේ සම්භවයක් භාවිතා කරන්නේ නම්, ප්‍රමිතිගත කෝවරියට් අභිසාරීතාව වේගවත් කළ හැකිය (මන්ද ඔබට අසංවර කෝවරියට් ඇති විට, අනුරූප පරාමිතීන් ශ්‍රේණියේ නුසුදුසු ලෙස ආධිපත්‍යය දරයි). මෙය නිදර්ශනය කිරීම සඳහා, සමහර R කේතය:

> objective <- function(par){ par[1]^2+par[2]^2}  #quadratic function in two variables with a minimum at (0,0)
> optim(c(10,10), objective, method="BFGS")$counts  #returns the number of times the function and its gradient had to be evaluated until convergence
    function gradient 
          12        3 
> objective2 <- function(par){ par[1]^2+0.1*par[2]^2}  #a transformation of the above function, corresponding to unscaled covariates
> optim(c(10,10), objective2, method="BFGS")$counts
function gradient 
      19       10 
> optim(c(10,1), objective2, method="BFGS")$counts  #scaling of initial parameters doesn't get you back to original performance
function gradient 
      12        8

එසේම, SVM වල සමහර යෙදුම් සඳහා, පරිමාණය මඟින් පුරෝකථන කාර්ය සාධනය වැඩි දියුණු කළ හැකිය: ආධාරක දෛශික දත්ත විස්තරයේ විශේෂාංග පරිමාණය .


27

I prefer "solid reasons" for both centering and standardization (they exist very often). In general, they have more to do with the data set and the problem than with the data analysis method.

Very often, I prefer to center (i.e. shift the origin of the data) to other points that are physically/chemically/biologically/... more meaningful than the mean (see also Macro's answer), e.g.

  • the mean of a control group

  • blank signal

Numerical stability is an algorithm-related reason to center and/or scale data.

Also, have a look at the similar question about standardization. Which also covers "center only".


27

To illustrate the numerical stability issue mentioned by @cbeleites, here is an example from Simon Wood on how to "break" lm(). First we'll generate some simple data and fit a simple quadratic curve.

set.seed(1); n <- 100
xx <- sort(runif(n))
y <- .2*(xx-.5)+(xx-.5)^2 + rnorm(n)*.1
x <- xx+100
b <- lm(y ~ x+I(x^2))

plot(x,y)
lines(x, predict(b), col='red')

enter image description here

But if we add 900 to X, then the result should be pretty much the same except shifted to the right, no? Unfortunately not...

X <- x + 900
B <- lm(y ~ X+I(X^2))
plot(X,y)
lines(X, predict(B), col='blue')

enter image description here

Edit to add to the comment by @Scortchi - if we look at the object returned by lm() we see that the quadratic term has not been estimated and is shown as NA.

> B
Call:
lm(formula = y ~ X + I(X^2))

Coefficients:
(Intercept)            X       I(X^2)  
  -139.3927       0.1394           NA  

And indeed as suggested by @Scortchi, if we look at the model matrix and try to solve directly, it "breaks".

> X <- model.matrix(b) ## get same model matrix used above
> beta.hat <- solve(t(X)%*%X,t(X)%*%y) ## direct solution of ‘normal equations’
Error in solve.default(t(X) %*% X, t(X) %*% y) : 
  system is computationally singular: reciprocal condition number = 3.9864e-19

However, lm() does not give me any warning or error message other than the NAs on the I(X^2) line of summary(B) in R-3.1.1. Other algorithms can of course be "broken" in different ways with different examples.


11
(+1) Note lm fails to estimate a coefficient for the quadratic term, & gives a warning about a singular design matrix - perhaps more directly illustrative of the problem than these plots.
Scortchi - Reinstate Monica

How can we understand the reason behind this "break"? Is it just due to rounding error / floating-point arithmetic?
Kuku

5

I doubt seriously whether centering or standardizing the original data could really mitigate the multicollinearity problem when squared terms or other interaction terms are included in regression, as some of you, gung in particular, have recommend above.

To illustrate my point, let's consider a simple example.

Suppose the true specification takes the following form such that

yi=b0+b1xi+b2xi2+ui

Thus the corresponding OLS equation is given by

yi=yi^+ui^=b0^+b1^xi+b2^xi2+ui^

where yi^ is the fitted value of yi, ui is the residual, b0^-b2^ denote the OLS estimates for b0-b2 – the parameters that we are ultimately interested in. For simplicity, let zi=xi2 thereafter.

Usually, we know x and x2 are likely to be highly correlated and this would cause the multicollinearity problem. To mitigate this, a popular suggestion would be centering the original data by subtracting mean of yi from yi before adding squared terms.

It is fairly easy to show that the mean of yi is given as follows:

y¯=b0^+b1^x¯+b2^z¯
where y¯, x¯, z¯ denote means of yi, xi and zi, respectively.

Hence, subtracting y¯ from yi gives

yiy¯=b1^(xix¯)+b2^(ziz¯)+ui^

where yiy¯, xix¯, and ziz¯ are centered variables. b1^ and b2^ – the parameters to be estimated, remain the same as those in the original OLS regression.

However, it is clear that in my example, centered RHS-variables x and x2 have exactly the same covariance/correlation as the uncentered x and x2, i.e. corr(x,z)=corr(xx¯,zz¯).

In summary, if my understanding on centering is correct, then I do not think centering data would do any help to mitigate the MC-problem caused by including squared terms or other higher order terms into regression.

I'd be happy to hear your opinions!


3
ඔබගේ දායකත්වයට ස්තූතියි, @ rudi0086021. ඔබ නිවැරදියි, නමුත් මම මෙහි ගැටළු කිහිපයක් දකිමි. පළමුවැන්න, කේන්ද්‍රගත කිරීම යනු x හි මධ්‍යන්‍යය අඩු කිරීම මිස y හි මධ්‍යන්‍යය අඩු කිරීම ගැන නොවේ ; දෙවනුව, ඔබ මුලින් කේන්ද්‍රගත කළ යුතුය, පසු වචන කේන්ද්‍රගත කිරීමෙන් ඔබ සටහන් කරන පරිදි කිසිදු බලපෑමක් නැත. සලකා බලන්න : x = c(1,2,3); x2 = x^2; cor(x, x2); # [1] 0.9897433; xc = c(-1,0,1); xc2 = xc^2; cor(xc, xc2) # [1] 0.
gung - මොනිකා නැවත

Thank you for your reply, @gung. Here is my thoughts. Firstly, personally I saw no convincing reason to treat dependent and independent variables differently, that is, to independent variables, while not to do so for dependent variables.
rudi0086021

2
Secondly, as you said, perhaps we should center the data before creating squared terms. Such a practice will mitigate the MC problem. However, it could lead to biased estimates, or more concretely, the omitted variable bias (OVB). To illustrate, see the following example: suppose the true specification is: y=b0+b1*x+b2*x^2+u. Centering the data beforehand will give: y=b0+b1*(x-xhar)+b2*(x-xbar)^2+v, where the new error term v=u+b1*xbar-b2*xbar^2+2b2*xbar*x. It is clear that cov(x-xbar, v)!=0. Thus, unfortunately, centering data beforehand would lead to biased estimates.
rudi0086021

@rudi0086021 It looks like in your last comment you assume that you would get the same coefficients when fitting the centered data as you would have when fitting the uncentered data. But centering before taking the square isn't a simple shift by a constant, so one shouldn't expect to get the same coefficients. The best fit after centering is given by B0 + B1*(x-xbar) + B2*(x-xbar)^2 where B0 = b0 + b1*xbar + b2*xbar^2, B1 = b1 + 2*b2*xbar and B2 = b2. Thus, v = u. Sorry to respond to this comment so belatedly, but there could always be others like me who see it for the first time today.
Tim Goodman
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.