You're running your node and you receive a transaction from a peer, how do you determine if that peer created the transaction or if it is simply relaying the transaction. In other words, can you map transaction creation to a peer?
how do you determine if that peer created the transaction or if it is simply relaying the transaction
You cannot, at least not with absolute certainty. This is by design: it helps preserve the privacy of users on the network.
That said, if you decided to run a whole bunch of nodes, and positioned them carefully in the network graph, then you could start to infer where transactions are originating from, based on the timing of your nodes hearing about said new transactions. I think it should be expected that chain analysis firms are doing this today.
To counter this, it must be considered that there are many ways to publish a transaction to the network - the node that first publishes a transaction is not necessarily owned or operated by the user that actually crafted the transaction. For example, today there exists services within the tor network, which allow you to copy/paste a signed transaction into a website form, to be broadcast to the network anonymously. Since you must connect to this service over tor, not even the service provider will know the identity of the transaction's author.
Further work is being done to increase the privacy of transaction broadcast. For example see BIP 156.