"I don't know" is a better answer than most, but you should only say that if it's the truth.
The three most important rules to follow when being questioned by a police officer are as follows:
- Do not lie.
- Do not incriminate yourself.
- Be cooperative (to the extent that you're not lying or incriminating yourself).
"Do you know why I pulled you over?" or "Why do you think I stopped you?" are perfect opening questions for law enforcement to ask because there is no good answer. Any answer you give puts you at a disadvantage for the rest of the stop because you've tacitly accepted the officer's assumption that you did something wrong.
The best response would be to simply reply back with their own question. "Why did you pull me over, officer?" If you say it right, it's rational, polite, and cooperative without actually answering anything.
Your position from the very beginning should be that you did nothing wrong (even if you know that you did). It's the officer's job to make the case. It's not your job to help them.