high idle on cold start then surging issue

on a cold start it idles at about 3k, is there a way to figure out if its my EGR valve, TPS, or IACV? whats the best way to clean them?

after about 5-10 min of idling the surging and high idle goes away and idles fine

Prolly the fast idle thermo valve. I think everyone on here has had this problem. Take it off clean it re adjust it u should be fine. There is an article somewhere if you search.