{
  "id": 106894,
  "title": "Dot product features that improved model",
  "url": "/competitions/champs-scalar-coupling/discussion/106894",
  "author_name": "Andy Atkinson",
  "post_date": "2019-08-31T15:15:11.477000",
  "votes": 2,
  "comment_count": 0,
  "views": 0,
  "content": "<p>I tried lots of permutations of distance features (the H in question to all others, the coupled atom to all other, the next closest to all others, next, next, etc. dummy vars that tell the element for each atom in my distance ranking scheme, etc.)  Then I got the idea of doing unit vector dot products between various vectors that I thought of.  I guess this really is just a representation of angles between vectors (equivalent to cos theta, I believe) ok nothing new and different with using angles between atoms.\nBut where I saw improvement is when I added the vectors of bonded atoms surrounding a given atom (the sum of the difference of xyz's relative to a given atom).  This gives a composite vector of atoms surrounding an atom.  Then i subtract from this composite vector the vector from the given atom to the H in question involved in the coupling constant.  Basically the resulting composite vector has the H atom that is involved in the coupling removed from the composite vector of bonded atoms surrounding any given atom.  Then I divide out the magnitude of this composite vector to just get the unit vector (showing just the direction it's pointing to).  Then I take the dot product of this unit vector with the unit vector from the given atom to the H in question.  This gives a representation of the angle between the H in question and the composite vector of atoms surrounding any given atom.  It was important to remove the vector to the H in question from the composite vector prior to taking the dot product.  It was also important to get unit  vectors prior to taking the dot product.  What's also interesting is that the magnitude of the composite vector was interesting to the model, not as interesting as the dot product between the composite and the H in question though.\nI think by accident this gave me the angle between my H's in the 2jhh coupling, so that was nice. :)  but it helped my 1jhc and other types too.\nYou can expand this to all atoms from the coupled atoms, starting from close atoms and moving outward.  Also you can filter to only atoms of a specific element before calculating the composite vector too.  I believe this is the reason I was able to hold onto my first medal, a silver medal! :)</p>",
  "messages": [
    {
      "id": 614498,
      "postDate": "2019-08-31T15:15:11.477Z",
      "content": "<p>I tried lots of permutations of distance features (the H in question to all others, the coupled atom to all other, the next closest to all others, next, next, etc. dummy vars that tell the element for each atom in my distance ranking scheme, etc.)  Then I got the idea of doing unit vector dot products between various vectors that I thought of.  I guess this really is just a representation of angles between vectors (equivalent to cos theta, I believe) ok nothing new and different with using angles between atoms.\nBut where I saw improvement is when I added the vectors of bonded atoms surrounding a given atom (the sum of the difference of xyz's relative to a given atom).  This gives a composite vector of atoms surrounding an atom.  Then i subtract from this composite vector the vector from the given atom to the H in question involved in the coupling constant.  Basically the resulting composite vector has the H atom that is involved in the coupling removed from the composite vector of bonded atoms surrounding any given atom.  Then I divide out the magnitude of this composite vector to just get the unit vector (showing just the direction it's pointing to).  Then I take the dot product of this unit vector with the unit vector from the given atom to the H in question.  This gives a representation of the angle between the H in question and the composite vector of atoms surrounding any given atom.  It was important to remove the vector to the H in question from the composite vector prior to taking the dot product.  It was also important to get unit  vectors prior to taking the dot product.  What's also interesting is that the magnitude of the composite vector was interesting to the model, not as interesting as the dot product between the composite and the H in question though.\nI think by accident this gave me the angle between my H's in the 2jhh coupling, so that was nice. :)  but it helped my 1jhc and other types too.\nYou can expand this to all atoms from the coupled atoms, starting from close atoms and moving outward.  Also you can filter to only atoms of a specific element before calculating the composite vector too.  I believe this is the reason I was able to hold onto my first medal, a silver medal! :)</p>",
      "rawMarkdown": "I tried lots of permutations of distance features (the H in question to all others, the coupled atom to all other, the next closest to all others, next, next, etc. dummy vars that tell the element for each atom in my distance ranking scheme, etc.)  Then I got the idea of doing unit vector dot products between various vectors that I thought of.  I guess this really is just a representation of angles between vectors (equivalent to cos theta, I believe) ok nothing new and different with using angles between atoms.\nBut where I saw improvement is when I added the vectors of bonded atoms surrounding a given atom (the sum of the difference of xyz's relative to a given atom).  This gives a composite vector of atoms surrounding an atom.  Then i subtract from this composite vector the vector from the given atom to the H in question involved in the coupling constant.  Basically the resulting composite vector has the H atom that is involved in the coupling removed from the composite vector of bonded atoms surrounding any given atom.  Then I divide out the magnitude of this composite vector to just get the unit vector (showing just the direction it's pointing to).  Then I take the dot product of this unit vector with the unit vector from the given atom to the H in question.  This gives a representation of the angle between the H in question and the composite vector of atoms surrounding any given atom.  It was important to remove the vector to the H in question from the composite vector prior to taking the dot product.  It was also important to get unit  vectors prior to taking the dot product.  What's also interesting is that the magnitude of the composite vector was interesting to the model, not as interesting as the dot product between the composite and the H in question though.\nI think by accident this gave me the angle between my H's in the 2jhh coupling, so that was nice. :)  but it helped my 1jhc and other types too.\nYou can expand this to all atoms from the coupled atoms, starting from close atoms and moving outward.  Also you can filter to only atoms of a specific element before calculating the composite vector too.  I believe this is the reason I was able to hold onto my first medal, a silver medal! :)",
      "votes": 2
    }
  ],
  "comments": [],
  "raw_markdown_by_id": {
    "614498": "I tried lots of permutations of distance features (the H in question to all others, the coupled atom to all other, the next closest to all others, next, next, etc. dummy vars that tell the element for each atom in my distance ranking scheme, etc.)  Then I got the idea of doing unit vector dot products between various vectors that I thought of.  I guess this really is just a representation of angles between vectors (equivalent to cos theta, I believe) ok nothing new and different with using angles between atoms.\nBut where I saw improvement is when I added the vectors of bonded atoms surrounding a given atom (the sum of the difference of xyz's relative to a given atom).  This gives a composite vector of atoms surrounding an atom.  Then i subtract from this composite vector the vector from the given atom to the H in question involved in the coupling constant.  Basically the resulting composite vector has the H atom that is involved in the coupling removed from the composite vector of bonded atoms surrounding any given atom.  Then I divide out the magnitude of this composite vector to just get the unit vector (showing just the direction it's pointing to).  Then I take the dot product of this unit vector with the unit vector from the given atom to the H in question.  This gives a representation of the angle between the H in question and the composite vector of atoms surrounding any given atom.  It was important to remove the vector to the H in question from the composite vector prior to taking the dot product.  It was also important to get unit  vectors prior to taking the dot product.  What's also interesting is that the magnitude of the composite vector was interesting to the model, not as interesting as the dot product between the composite and the H in question though.\nI think by accident this gave me the angle between my H's in the 2jhh coupling, so that was nice. :)  but it helped my 1jhc and other types too.\nYou can expand this to all atoms from the coupled atoms, starting from close atoms and moving outward.  Also you can filter to only atoms of a specific element before calculating the composite vector too.  I believe this is the reason I was able to hold onto my first medal, a silver medal! :)"
  }
}